如何在作业中设置Jenkins Build参数并传递到下一个管道阶段

时间:2016-09-20 17:46:52

标签: jenkins jenkins-pipeline

我们正在使用Jenkins构建管道来调用许多Jenkins作业。我试图弄清楚如何将变量设置为Jenkins作业的一部分(理论上每次运行都可以将此变量设置为唯一的变量)。第一个问题是我不确定如何将这样的变量设置为第一个作业的一部分。其次,我不确定如何通过Groovy脚本从管道上的作业中提取该变量。

示例是:

node {
   stage 'First Job'
   //I want to set a parameter as part of the build steps in this job
   build 'first-job'
   stage 'Second Job'
   //I want the variable set in the first job passed in here
   build job: 'second-job', parameters: [string(name: 'FOO', value: myParam)
}

1 个答案:

答案 0 :(得分:1)

我认为你不能轻易做到这一点,因为它不是真正的管道哲学。

使用旧的自由式项目,您可能会将您的工作链接起来,例如:

find_by

...每次都将构建参数从上游作业传递到下游作业。

然而,对于pipelines,philosphy是完全不同的,旨在将所有复杂的工作流程视为单个管道。为了保持清洁,你可以加载函数,传递和获取变量变得非常简单。

示例:

Main job -> First job -> Second job

等等。我认为你应该重新考虑你对待不同工作的方式。如果您绝对需要将作业保留为独立作业而不是某些管道功能,那么您可以随时查看Jenkins全局属性。