我一直在为公司进行内部项目,在此期间我一直在学习git和Jenkins。我有2个分支,分别是开发和主管。我将开发部署到开发服务器并进行测试,直到满意为止。然后,我合并开发,以掌握并使用语义版本控制(v1.0.0)标记发行版。
我的问题是,当我要将代码发布到生产服务器时,应该部署标记的分支(refs / tags / v1.0.0)还是master分支。是否有最佳实践或争论哪一个最好?
答案 0 :(得分:1)
根据持续交付惯例,您需要遵循构建一次-随处部署规则:
否则,存在测试的风险和发布到PRD的风险是不同的二进制文件的风险。风险通常很小,但这是真实的。通常,这是由于CI作业的配置不当(实际上配置并不容易),但也可能来自管理依赖关系的服务器发生更改(对于Java,这些是Nexus,Artifactory)或CI服务器上的升级。
因此,您不应从标签或母版创建新的版本。尽管您可以摆脱开发分支并直接在master中工作-通过这种方式,您可以从master释放。如果需要,仍然可以选择标记。