在Azure Devops中,我应该为每个分支创建一个YML文件,还是只创建一个控制所有分支的主YML?最佳实践问题

jogvjijk  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(94)

我试图想出最好的做法来处理我的释放。
选项A是在控制所有部署的主分支中有1个YML文件。

  • 如果主分支被更新,那么它将部署所有的stage(test、preprod、prod)。
  • 如果它的任何其他分支更新/创建,它应该只执行开发阶段。

选项B是只为主分支创建一个自定义YML文件,并为所有其他分支使用另一个公共YML文件,以实现前面提到的相同行为。

kpbwa7wx

kpbwa7wx1#

没有一个适合的解决方案,但选项A是一个实用的方法,条件很少。
当创建一个特性分支时,您会触发构建和测试的CI。在某些时候,您希望对您的特性进行QA,并且可以手动将其部署到测试阶段。我建议使用参数与3提到的环境。
以下示例是一个具有多级CI和CD的流水线:

如果它通过了QA测试,那么您希望将其合并到主版本中并将其部署到预生产中,如果它仍然通过了测试,那么您可以设置一个批准门以将其部署到生产中。在这种情况下,不需要再次部署到测试环境。
因此,您需要为CI/CD制定一个整体战略。上面的例子和答案是一种方法的灵感。

相关问题