gpt4 book ai didi

Jenkins 管道条件分支构建

转载 作者:行者123 更新时间:2023-12-04 11:37:57 25 4
gpt4 key购买 nike

使用多分支管道我想触发一个稍微不同的构建和部署过程,具体取决于哪个 git 分支触发了构建。

我能想到的两种方法是:
1) 在每个分支中使用不同的 jenkins 文件
2) 在 jenkins 文件中使用一系列 when {branch 'X'} 块

第一种方法意味着我在合并分支时需要小心,我知道我会忘记在某个时候。

第二种方法相当困惑,但确实意味着我只能使用一个 Jenkins 文件。

我不敢相信没有比这两种方法更好的方法。

最佳答案

即使我不是 DevOps 专家,我也可以建议使用 when管道中的条件,以便某些阶段仅在 when 时触发条件满足。

pipeline {

triggers {
# triggered by changes in every branch
}
stages {
stage('first-stage'){
when { anyOf { branch 'feature-branch/*'; branch 'master' } }
steps{
....
}
}
stage('second-stage'){
when {
not {
branch 'release/*'
}
not {
branch 'staging'
}
}
steps{
....
}
}

}
}

或者您可以使用 job-builder 拥有多个作业模板插入。然后,您可以创建具有不同分支参数的不同项目,具体化作业模板。这有点复杂,我会使用上面的“带有何时条件的管道”。

此链接也可能有帮助:
https://jenkins.io/blog/2017/01/19/converting-conditional-to-pipeline/

关于Jenkins 管道条件分支构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48828064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com