如何在持续交付的发布后自动化主合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在持续交付的发布后自动化主合并相关的知识,希望对你有一定的参考价值。

主合并自动化的最佳实践是什么?现在我们正在手动完成。我们应该使用合并任务从CD(vsts)管道进行吗?合并失败会发生什么?

这是我们在市场上发现的合并任务。哪个没有按预期工作。

https://marketplace.visualstudio.com/items?itemName=dtzar.git-merge

enter image description here

答案

您可以通过Powershell脚本自动将其他分支合并到master分支中。详细信息如下:使用脚本在发布定义的末尾添加Powershell任务:

git clone https://<alternate username>:<Alternate password>@account.visualstudio.com/project/_git/reponame repo
cd repo
git checkout $(BUILD.SOURCEBRANCHNAME)
git checkout master
git merge $(BUILD.SOURCEBRANCHNAME) -X ours -m 'merge $(BUILD.SOURCEBRANCHNAME) into master'
git push origin master

注意:对于工作流程,将分支合并到master中主要没有冲突。如果存在冲突,git merge的-X ours选项使用master版本。您也可以使用-X theris来使冲突使用源分支的版本。

enter image description here

以上是关于如何在持续交付的发布后自动化主合并的主要内容,如果未能解决你的问题,请参考以下文章

持续集成:什么是持续集成(CI)持续交付(CD)和持续部署(CD)

持续交付之如何选型代码分支策略?

基于Docker的可持续交付

CI/CD和 DevOps还在傻傻分不清吗?今日一文让你通透

CI/CD

CI/CD