【问题标题】:Jenkins - One job for all branches or One job per branch?詹金斯 - 所有分支机构一份工作还是每个分支机构一份工作?
【发布时间】:2016-08-18 15:03:41
【问题描述】:

使用 Jenkins 自动化构建的最佳实践是什么?我可以拥有一份 Jenkins 工作并使用 $GIT_BRANCH 变量对工作流程做出一些决定。或者我可以每个分支有一个 Jenkins 工作(例如,一个主分支的 Jenkins 工作和另一个开发分支的工作)。

最佳做法是什么?

【问题讨论】:

    标签: git jenkins continuous-integration continuous-deployment


    【解决方案1】:

    这取决于。在以下情况下选择变量方法:

    • 行为差异很小
    • 分店很多
    • 还有一些下游作业也依赖于分支变量

    如果上述任何原因不成立,或者您需要在每个分支上同时进行不同的部署(就像所有分支同时进行代码更改一样),请选择每个作业方法。

    一般来说,我建议使用环境变量并进行参数化作业。如果您仍想制作多个作业,我建议您使用矩阵作业来跟踪您可能构建的许多不同维度。

    【讨论】:

    • 如果我为所有分支机构做一份工作,我就无法使用 Jenkins 的 post 操作。我想根据分支选择要使用的发布操作。
    • 在这些情况下,我要么将后期操作添加为当前作业的一部分(作为单独的任务),然后使用切换逻辑来决定要执行哪个后期操作,或者如果这是不可能的我会创建一个分支工作。我从未使用过Conditional BuildStep Plugin,但它可能就在你的小巷里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    相关资源
    最近更新 更多