问题:Jenkins - 一个版本有多少 CI/CD 管道?

对于任何版本,使用以下 Git 工作流程,

在此处输入图像描述

对于持续交付,我的理解是,需要创建两条Jenkins管道,如下图:

  1. 构建在每个 Feature 分支(绿色)合并到 Develop 分支(紫色)时触发的管道。 Pipeline 将在 Nexus repo 中推送product-x.y-snapshot.jar。这个 jar 的目的是用于 QA 测试

  2. 在每个新的 Release 分支合并到 Master 分支时触发的发布管道。 Pipeline 将在 Nexus repo 中推送product-x.y.jar。这个罐子直接投入生产。

两个管道都对每个功能进行了自动测试。在两个管道中运行相同数量的自动测试


1)两条管道是否足以稳定发布?product-x.y.jar作为该版本的一部分添加了新功能

2)如果是,如何为构建和发布管道维护二进制工件?使用 Nexus ......请提供任何参考

解答

  1. 这个问题没有一个正确答案——在大多数情况下,两条管道(一条用于 feature 分支,另一个用于 master 分支)足以创建稳定版本,但通常团队使用三个暂存环境(例如,详见这篇文章):
  • Dev 环境:用于进行develop(或feature)分支和运行自动化测试;

  • QA环境:用于提供更稳定的代码版本供QA团队测试;

  • Prod 环境:用于构建当前位于 master 分支上的生产就绪代码。

在这种情况下,您可以为每个暂存环境使用三个管道(或一个带有用于选择和构建每种环境类型的参数的管道)。网上有很多Jenkins持续交付配置的例子。

2)如果我理解正确,为了维护工件,您可以使用Nexus Platform Plugin(参见这个示例)或Nexus Artifact Uploader将特定工件从 Jenkins 发布到 Nexus。

Logo

CI/CD社区为您提供最前沿的新闻资讯和知识内容

更多推荐