【发布时间】:2013-06-08 15:46:10
【问题描述】:
我想要一些有经验的建议...
我想接受作业名称列表(逗号或空格分隔的字符串)作为参数。
Jenkins 需要将它们构建为一个链,一个接一个,按照它们输入的顺序(我在触发它们之前验证列表)。列表长度未知。
请提出可能的解决方案(我正在考虑 groovy 脚本、带有 curl 和 Jason 调用的 shell 或 python)。
欢迎提出任何建议!
【问题讨论】:
我想要一些有经验的建议...
我想接受作业名称列表(逗号或空格分隔的字符串)作为参数。
Jenkins 需要将它们构建为一个链,一个接一个,按照它们输入的顺序(我在触发它们之前验证列表)。列表长度未知。
请提出可能的解决方案(我正在考虑 groovy 脚本、带有 curl 和 Jason 调用的 shell 或 python)。
欢迎提出任何建议!
【问题讨论】:
我选择使用通过 groovy 构建步骤执行的 groovy 脚本。除了我发布的in this question 所述的参数丢失的主要问题之外,它还可以很好地解决。
我们非常欢迎任何帮助。
我希望这会有所帮助。
【讨论】:
首先,将您的职位列表放在 your_jobs_lists.txt 中,每行每个职位名称。
第二,pip install python-jenkins 为 jenkins REST API 安装 python 包装器.然后使用下面的 python 脚本来运行你的作业。
#!/usr/bin/python
import jenkins
jenkins_url = "http://your_jenkins_server_url/"
username = "youruserid"
token = "yourToken"
j = jenkins.Jenkins(jenkins_url, username=username, password=token)
if __name__ == "__main__":
fp = open("your_jobs_lists.txt", "r")
alllines = fp.readlines()
for jobname in alllines:
jobname = jobname.strip('\n')
j.build_job(jobname,{'param1': 'test value 1', 'param2': 'test value 2'},{'token': token})
time.sleep(3)
print "Done!"
对于那些不知道在哪里找到令牌的人,这里是:
登录 jenkins -> 从网页顶部单击您的用户 ID -> 配置 -> 显示 API 令牌...
尽情享受吧。
【讨论】: