我的公司正在使用 Jenkins 进行持续集成,我正在尝试转向 CD。我正在使用 git hub 作为代码存储库。现在我们正在将特性分支合并到一个 uat 环境中,当一个特定的特性被接受时,特性分支将被合并到我们的生产分支中。这显然很危险,因为可以同时测试两个更改并分别部署。理想情况下,我们会在不重建的情况下测试和部署一个包,但我很难看到这是怎么可能的。如果两个人在两个不同的功能上工作,第一个完成,打包并进入测试,第二个完成并打包没有第一个?但是,我怎样才能在不使其他功能的测试失效的情况下部署包呢?我'
任何帮助将不胜感激。
此外,如果您查看http://ptgmedia.pearsoncmg.com/images/chap5_9780321601919/elementLinks/fig5_6.jpg 我担心的是签入 1 在通过验收测试时可以部署并且该包将被部署,但是什么如果验收测试失败?签入 5 包含与签入 1 相同的问题,因此在签入 1 修复或删除之前无法部署到生产环境。删除更改会很烦人,因为可能需要删除多个提交,并且修复 + 测试可能需要很长时间。