2

这个想法是:

  1. 所有开发人员都在他们的功能分支上工作并将它们推送到 github
  2. jenkins 在作业测试中开始构建(由“push on github”触发)以在这些功能分支上运行单元测试
  3. 一旦他们通过测试,经理就会去 github 进行代码审查。
  4. 如果代码审查没问题,那么这个构建被手动提升(提升构建插件)到“通过 QA,准备好生产”,在“操作”部分,我们设置“触发/调用其他项目的构建”以触发单独的作业测试-prod仅将此功能分支合并到远程 repo 上的 master 。

作业测试提升构建配置: 在此处输入图像描述

作业测试产品SCM 配置: 在此处输入图像描述

所以这里有两个问题:

  1. 在第 4 步中,我们遇到了 2 个相互冲突的功能分支都通过了代码审查的情况,第一个被提升的分支会很好,但第二个会出现冲突和失败,有没有办法在之前检测到冲突?我知道“构建前合并”可以避免冲突,但这需要前一个分支已经合并到远程主控

  2. 在没有冲突的情况下,每当手动提升触发第二个作业时,总会有一个额外的构建导致:“遗留代码启动了这个作业。没有可用的原因信息”,我不知道这是怎么发生的。

另外,不知道这个想法在整个管道方面是否正确,欢迎提出任何建议!

4

1 回答 1

0

免责声明:我对 git 一无所知。

据此最好的做法是使用rebase。由于我不熟悉 git,我无法告诉您如何rebase在 Jenkins 上进行设置。

这里还有另一张海报,它也有 git 和“遗留代码开始这项工作”触发额外构建的问题:遗留代码开始这项工作。没有可用的原因信息

于 2014-04-24T18:59:09.147 回答