我希望获得一些有关如何改进当前 CI/CD 管道的建议。这是概述。假设我们有一个存储库
TheRepo
。该仓库有 3 个分支 dev
、qc
和 prod
。我们使用的是Azure Devops,我们的发布流程如下:
new_code
dev
分支,代码获得批准并且 new_code
合并到 dev
qc
分支,代码获得批准并且 dev
合并到 qc
prod
分支,代码获得批准并且 qc
合并到 prod
这样做的问题是,当多个开发人员在同一个存储库上工作并且他们都在推送更改时,我们最终可能会将其他 ppls 代码移到其他分支中,因此我们必须始终检查并确保其他代码是很高兴被感动。我们怎样才能让开发人员只通过
dev
和 qc
移动他们的功能分支,但仍然允许在我们的 AWS EMR dev
和 qc
环境中进行测试。我们需要将不同版本的代码部署到集群吗?任何帮助/建议将不胜感激。
同意taleodor的评论,您可以考虑功能标志。在 Git 分支策略 文档中,提到使用 feature flags 来管理长时间运行的分支。您可以参考此文档使用功能标志进行渐进实验以获取更多信息。
如果功能标志太复杂而无法实现,您也可以参考类似问题的thisanswer。它引入了一个可以更好地处理分支的工作流程。