我在Jenkins中有一组参数化构建要构建我必须单击“立即构建”,然后输入参数值(在本例中为GIT_TAG_NAME)。我想触发一组这些参数化的构建,它们都使用相同的参数而不需要多次输入。
我正在尝试使用Build Flow插件(https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin),通过制作一个触发所有的主构建流程其他构建,但我不理解插件语法,或者这可能是不可能的。
我的DSL看起来像:
out.println "-------------------------"
out.println 'Building all OTA builds at tag: '
out.println params["GIT_TAG_NAME"]
out.println "-------------------------"
build( "SomeOTA-Build-1", param1: params["GIT_TAG_NAME"] )
build( "SomeOTA-Build-2", param1: params["GIT_TAG_NAME"] )
print语句正确打印参数,但子构建似乎没有将参数传递给它们。
答案 0 :(得分:2)
尝试使用Parameterized Trigger Plugin -
使用参数GIT_TAG_NAME
设置 Job-A - 这是您的“前端”
使用相同参数GIT_TAG_NAME
设置 Job-B1 , Job-B2 和 Job-B3 - 那些做实际的工作
将 Job-A 设置为在其他项目上触发参数化构建(在构建后操作中)和将当前构建参数传递给已触发的作业
(每个派生作业需要一个触发器 - 具有相同或不同的条件)
现在,运行 Job-A 将修改其他作业,同时传递GIT_TAG_NAME
的值。
编辑:
来自TIKAL的插件使用了不同的方法:
Multijob Plugin 试图将所有工作步骤压缩成一个大工作
(没试过,所以不能对这种方法发表评论)。
如果采用第一种方法,您可能需要查看 Join Plugin -
此插件允许在所有直接下游作业结束后运行作业。