如何解决如果参数值匹配,则如何在 Jenkins 参数化管道中的 if else 条件触发作业,否则不触发
enter image description here 如何在 Jenkins 声明式管道中获取此值,如果值匹配则触发作业,并且在 ECR 存储库中获取 ECR 标签,然后如何实现 enter image description here 所以如果标签通过使用 api http://jenkins:8080/job/Nm/buildWithParameters?ECR_TAG=0.1.3 那么它给出错误,如果传入 Jenkins URL tag=0.1.1 或 0.1.2 然后成功但标签名自动递增
解决方法
你可以使用when
,stage下的表达式,在这个when
条件下你可以检查env参数是真还是假。
pipeline {
agent {
node {
label 'master'
}
}
options {
timeout(time: 1,unit: 'HOURS',activity: true) // abort if nothing happens on the console for 1h
timestamps() // prepend timestamps on the console output
}
parameters {
choice(name: 'ECR_TAG',choices: ['0.1.1','0.1.2','0.1.3'],description: 'TAG for ECR')
}
stages {
stage('Git Checkout') {
when {
expression { env.ECR_TAG == "0.1.1" }
}
steps {
script{
// your script here.
echo "Hello"
}
}
}
}
}//流水线
仅当您在触发作业时将 ECR_TAG
参数值指定为 0.1.1
时,才会执行上述管道阶段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。