Jenkins Build Flow Plugin在构建之间传递参数时遇到问题

时间:2012-10-22 17:23:52

标签: continuous-integration jenkins build-automation

我在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语句正确打印参数,但子构建似乎没有将参数传递给它们。

1 个答案:

答案 0 :(得分:2)

尝试使用Parameterized Trigger Plugin -

  1. 使用参数GIT_TAG_NAME设置 Job-A - 这是您的“前端”

  2. 使用相同参数GIT_TAG_NAME设置 Job-B1 Job-B2 Job-B3 - 那些做实际的工作

  3. Job-A 设置为在其他项目上触发参数化构建(在构建后操作中)和将当前构建参数传递给已触发的作业
    (每个派生作业需要一个触发器 - 具有相同或不同的条件)


  4. 现在,运行 Job-A 将修改其他作业,同时传递GIT_TAG_NAME的值。

    编辑:
    来自TIKAL的插件使用了不同的方法:
    Multijob Plugin 试图将所有工作步骤压缩成一个大工作 (没试过,所以不能对这种方法发表评论)。

    如果采用第一种方法,您可能需要查看 Join Plugin -
    此插件允许在所有直接下游作业结束后运行作业。