[英]Jenkins - How can i pass parameters from the Upstream to Downstream
我有3个构建:A - 是控制流的主构建B- Anoter构建C-将在BI想要向A添加String参数后执行,因此用户将手动输入一些String,我不知道如何我可以将此参数路由到B.让我们说这是我的构建流程:
build(“B”)build(“C”)我不知道如何将参数传递给B,如果我从构建流程或B构建配置中执行此操作,我该怎么做。
先谢谢Alex
像这样的东西:
build("B", B_parameter: params["A_parameter"])<br>
build("C")
https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin
一种方法是使用参数化触发器插件: https : //wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin
这允许您使用但不限于:
* a set of predefined properties
* properties from a properties file read from the workspace of the triggering build
* the parameters of the current build
使用Build A,B和C,您可以将th3m设置为参数化构建(即要求参数值)。 这是一个靠近作业配置页面开头的设置。 例如,要获取一个名为MY_ID
的参数。 现在可以在构建A中以$ MY_ID访问它。
现在,当您构建A时,它会提示MY_ID。 然后在作业A中添加一个构建步骤以触发带参数的“B”,并将其传递给构建A的所有参数。现在构建B还将具有在运行构建A时设置的参数$ MY_ID。
Wooooow,所以经过几个小时的播放“这个方程式中缺少哪个插件?”后,事实证明这些答案都没有起作用,因为jenkins更改称为SECURITY-170 。
如果您按照此答案中的步骤操作并且未转发参数,请转至此其他Stack Overflow应答 ,其中提供了有关问题的详细信息。 如果你感觉太懒,只想验证SECURITY-170是问题的症结所在,你可以试试这个临时解决方案,因为它在重启后不会持续存在:
Run
按钮: System.setProperty("hudson.model.ParametersAction.keepUndefinedParameters", "true")
如果这对您有用,您可以查看我在另一个问题上汇总的答案 ,但我建议您在尝试之前先阅读问题和答案的背景。
这是我的管道(Master Build A)脚本,用于将参数传递给子作业(Child Build B)
build job: 'svn test', parameters: [string(name: 'srcpath', value: params["mainpath"]), string(name: 'revision', value: params["mainrevision"])]
我配置
- mainpath和mainrevision作为管道作业参数,
- srcpath和revision作为子作业参数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.