Jenkins将主分支或标记分支部署到生产中

时间:2019-12-20 17:38:41

标签: git jenkins

我一直在为公司进行内部项目,在此期间我一直在学习git和Jenkins。我有2个分支,分别是开发和主管。我将开发部署到开发服务器并进行测试,直到满意为止。然后,我合并开发,以掌握并使用语义版本控制(v1.0.0)标记发行版。

我的问题是,当我要将代码发布到生产服务器时,应该部署标记的分支(refs / tags / v1.0.0)还是master分支。是否有最佳实践或争论哪一个最好?

1 个答案:

答案 0 :(得分:1)

根据持续交付惯例,您需要遵循构建一次-随处部署规则:

  1. 在CI服务器上的“构建”步骤中,您将创建一个二进制文件。然后,将其部署到测试所需的任何服务器上。
  2. 在对所有内容进行测试之后,您将部署相同的二进制文件。您不要从另一个分支的另一个版本创建另一个二进制文件。

否则,存在测试的风险和发布到PRD的风险是不同的二进制文件的风险。风险通常很小,但这是真实的。通常,这是由于CI作业的配置不当(实际上配置并不容易),但也可能来自管理依赖关系的服务器发生更改(对于Java,这些是Nexus,Artifactory)或CI服务器上的升级。

因此,您不应从标签或母版创建新的版本。尽管您可以摆脱开发分支并直接在master中工作-通过这种方式,您可以从master释放。如果需要,仍然可以选择标记。