1
laters OP 在一个任务中,我想要三个触发器,三个不同的步骤
1 、Common build setp 1 - setp3 2 、Timing build setp 4 - setp7 3 、Specified rule construction setp 8 - setp11 |
2
securityCoding 2023-03-29 10:08:49 +08:00 via Android 1
Pipeline ?
|
3
laters OP @securityCoding Pipeline 中如何能区分对应的构建步骤,有类似的 demo 吗 ? 谢谢
|
4
tlxxzj 2023-03-29 10:37:35 +08:00
def trigger1 = false
def trigger2 = false def trigger3 = false def causes = currentBuild.rawBuild.getCauses() for(cause in causes) { def desc = cause.properties.shortDescription if (desc =~ "trigger1") { trigger1 = true } else if(desc =~ "trigger2") { trigger2 = true } else if(desc =~ "trigger3") { trigger3 = true } } pipeline { agent any stages { stage("common") { steps { echo "common step" } } stage("trigger1") { when { expression { trigger1 == true } } steps { echo "trigger1 step" } } stage("trigger2") { when { expression { trigger2 == true} } steps { echo "trigger2 step" } } stage("trigger3") { when { expression { trigger3 == true } } steps { echo "trigger3 step" } } } } |
5
tlxxzj 2023-03-29 10:38:20 +08:00
差不多这样吧,用 when 控制
|
6
laters OP @tlxxzj 感谢,我大概明白这个意思了,除了 pipeline 还有别的方式可以实现这种吗? 关于这部分你那边有没有相关的文档可以学习下
|
7
tlxxzj 2023-03-29 10:59:25 +08:00
|
8
w292614191 2023-03-29 11:24:53 +08:00
@securityCoding #2 应该是这个
|
9
vishun 2023-03-29 15:13:56 +08:00
最好是月度官方 pipeline 文档。也可以参考下[windows 下 jenkins 通过 pipeline 来部署和回滚 maven 、npm 、小程序项目]( https://www.cnblogs.com/vishun/p/16422561.html),里面有参数化构建的相关示例。
|
10
securityCoding 2023-03-29 18:54:54 +08:00 via Android
@laters stage 可以加判断语句,你瞅瞅官方文档
|
11
defunct9 2023-03-29 19:03:31 +08:00
千万别用这种 groovy 得玩意,只能再 jenkins 上玩。换到 circle ci 、gitlab 、cloudbuild 完全不适用,还是用 Docker 那种 build 方式把
|