我的Jenkins管道包含调用另一个构建作业,如下所示:
pipeline {
agent any
stages {
stage('Deploy') {
when {
branch 'develop'
}
steps {
build job: 'deploy-to-develop-stack', parameters: [string(name: 'STACK_NAME', value: "develop-stack")]
}
}
}
}
下游作业已启动,但我不知道如何访问参数STACK_NAME
。
我尝试使用$STACK_NAME
,${STACK_NAME}
,但这些都不起作用。
如果我启用“此项目已参数化”,它将工作,但这将要求我要避免的用户输入,因为参数将从另一个管道脚本传入。
更新#1 我的谬论......请看我自己的解决方案的答案。
我只是有一个谬误。激活“此项目已参数化”是要走的路。当然,如果参数是从另一个管道传递的,则不会请求用户输入。
您可以使用Parameterized Trigger Plugin,它可以让您将参数从一个任务传递到另一个任务。
您还需要添加从下游传递到上游的参数
build job: "deploy-to-develop-stack",
parameters: [
[$class: 'StringParameterValue', name: 'STACK_NAME', value: "develop-stack", description: 'develop-stack'],
];
这应该会有所帮助