Jenkins声明性:触发另一个管道并将阶段结果传递给当前管道
我在Jenkins中有两个声明性管道。我想在管道A内运行的阶段的参数内触发pipelineB,并检查pipelineB的生成/阶段结果,以决定pipelineA是继续还是中止。 如果pipelineB构建/阶段结果成功,则pipelineA应继续进行阶段C,除非中止Jenkins声明性:触发另一个管道并将阶段结果传递给当前管道,jenkins,jenkins-pipeline,jenkins-declarative-pipeline,Jenkins,Jenkins Pipeline,Jenkins Declarative Pipeline,我在Jenkins中有两个声明性管道。我想在管道A内运行的阶段的参数内触发pipelineB,并检查pipelineB的生成/阶段结果,以决定pipelineA是继续还是中止。 如果pipelineB构建/阶段结果成功,则pipelineA应继续进行阶段C,除非中止 stage('A'){ steps{ script{ //Do something }
stage('A'){
steps{
script{
//Do something
}
stage ('B'){
steps {
script {
// Trigger another pipeline and check result of this
build job: 'pipelineB', parameters: [
string(name: 'param1', value: "value1")
]
}
}
}
stage('C'){
steps{
script{
//Do something
}
获取下游作业生成结果并分配给上游作业生成结果
script {
// Trigger another pipeline and check result of this
ret = build(job: 'pipelineB',
parameters: [
string(name: 'param1', value: "value1")
],
propagate: true,
wait: true)
echo ret.result
currentBuild.result = ret.result
}
阅读详细信息获取下游作业构建结果并分配给上游作业构建结果
script {
// Trigger another pipeline and check result of this
ret = build(job: 'pipelineB',
parameters: [
string(name: 'param1', value: "value1")
],
propagate: true,
wait: true)
echo ret.result
currentBuild.result = ret.result
}
详细信息请阅读您要实现的目标需要分为两个独立的工作流。我们有几个微服务。。我们希望在使用UI部署其他微服务时运行selenium测试。。Selenium只是在我们部署uımicroservices时运行。您试图实现的目标需要分为两个单独的工作流。。我们希望在使用UI部署其他微服务时运行selenium测试。。Selenium只是在我们部署uımicroservices时运行,
propagate
和wait
的默认值已经是true
,如果下游作业失败而不需要做任何事情,他的阶段不应该失败吗?@yong,如何添加要触发的分支名称?如何在pipelineB中再添加一个参数以接受分支,并在pipelineB的第一阶段运行sh“git checkout${params.branch}”以切换到所需的分支。然后在上面的代码片段中向下传递分支参数的值。propagate
和wait
的默认值已经是true
,如果下游作业失败而不需要做任何事情,他的阶段不应该失败吗?@yong,如何添加要触发的分支名称?如何在pipelineB中再添加一个参数以接受分支,并在pipelineB的第一阶段运行sh“git checkout${params.branch}”以切换到所需的分支。然后在上面的代码段中传递分支参数的值。