Jas*_*ger 23 hudson parameterized jenkins
我在詹金斯有一份工作(称之为BIGJOB); 几个构建步骤是使用参数化触发器插件触发其他作业的构建(称为SMALLJOB),然后等待它们完成.我需要做的是从SMALLJOB上的触发构建中检索工件.
最初,我以为我可以使用Copy Artifact Plugin从触发的SMALLJOB的"last build"中检索工件.当一次只运行一个SMALLJOB时,这确实可以正常工作.
但是我运行了多个BIGJOB,都触发了多个SMALLJOB,因此使用"last build"是不可靠的,同时两个SMALLJOB完成.
是否有更可靠的方法从特定下游作业中获取工件?如果我可以获得构建号,我可以使用curl来获取构件.
tve*_*eon 29
就好在将来遇到这个问题的任何(其他)问题时:
使用参数化触发器插件作为构建步骤时,如果触发器配置为"阻止直到触发的项目完成其构建",则以下环境变量可用于进一步的构建步骤:
从版本2.17开始
查看插件网站上的更多信息 - 在问题中链接.
Jas*_*ger 10
找到了我自己的答案.不像插件或已经设置的变量那么容易,但它确实有效.
使用深度= 1的Jenkins XML API(非常重要以完全遍历URL和所有可用信息)和XPATH.以下是我使用的URL示例:
http://jenkins/job/SMALLJOB/api/xml?depth=1&xpath=/freeStyleProject/build[action/cause/upstreamProject="%JOB_NAME%" and action/cause/upstreamBuild=%BUILD_ID%]/number/text()
Run Code Online (Sandbox Code Playgroud)
这将返回正确的SMALLJOB(由THIS BIGJOB启动的那个)的内部版本号.然后在Jenkins的http下载中使用该数字来获取存档的构建文件.
归档时间: |
|
查看次数: |
17959 次 |
最近记录: |