我正在为Windows自助代理上运行的dotnet核心项目开发Azure管道。 我希望我的管道使用Git命令检出release分支并将develop分支合并到其中。下一步将建立发布分支并部署到Intranet服务器
我不知道Git的用语很好,我使用TFS已有多年了。我使用下面的命令并获得了日志here:
- task: CmdLine@2
displayName: Checkout Release branch
inputs:
script: |
@echo off
git checkout release
git pull develop
git status
从日志中,我了解:
如果您可以帮助我改善脚本,那就太好了, 非常感谢。
答案 0 :(得分:1)
您可以使用git merge
命令来合并分支。要将dev分支合并到release分支,可以使用git merge origin/develop
。查看document了解更多信息。参见以下示例:
steps:
- checkout: self
persistCredentials: true
- task: cmdLine@2
inputs:
script: |
@echo off
git checkout release
git merge origin/develop
git status
但是,不建议以上述方式部署发布分支。您可以将Azure管道的默认分支更改为release分支,并为发布分支启用Continuous Integration trigger。
因此您可以创建一个pull request来将开发合并到github UI或使用命令来发布。将development合并到release中之后,azure管道将自动触发以从release分支进行部署。 注意:azure管道yaml文件也必须存在于发行分支中。请参见以下步骤:
1,要将Azure管道分支从“开发”更改为“发布”:
在天蓝色的devops管道的编辑页上,单击 3点,然后单击触发器
转到 YAML 标签-> 获取来源->单击 3点更改默认分支。
2,为发布分支设置CI触发器
在azure管道yaml文件中,将触发器设置为包括发布分支(也可以设置PR trigger):
(实际上,您无需按照上述步骤来更改默认分支。您只需在发布分支中包含azure管道yaml文件,并将CI触发器设置为包括发布分支,如下所示)
trigger:
branches:
include:
- release
exclude:
- develop #if you want disable CI trigger for develop branch
通过添加CI触发器以将发布分支包含在azure管道yaml文件中。从开发合并到发布分支时,将自动在发布分支上触发Azure管道。