我现在已经和他斗争了一天多了。我在VSTS CI / CD管道中有一个简单的要求,我试图构建模式release/*
或hotfix/*
之后的任何分支都应该触发部署到我的QA环境。这是我的基于分支的配置:
此配置不会按预期触发部署。正如您在下面的屏幕截图中看到的那样,发布版本已经运行但未触发任何环境。 (QA是右边的第二个灰色方块,应该是绿色或红色,具体取决于部署是成功还是失败)。
为了解决这个问题,我尝试使用Build Tags。我添加了一个Powershell步骤,它根据分支的名称有条件地添加了构建标记。
$branchName = $Env:BUILD_SOURCEBRANCH
if ($branchName -like '*release/*')
{
Write-Host "##vso[build.addbuildtag]release"
}
if ($branchName -like '*hotfix/*')
{
Write-Host "##vso[build.addbuildtag]hotfix"
}
这正确地设置了构建标记,正如我在构建工件和应用标记的日志中看到的那样。但是,将我的部署条件修改为标记感知会导致与使用分支的尝试完全相同的行为:
修改 根据要求,此处是显示获取源步骤的CI定义。此处无法添加多个分支条件。它们在触发器部分中设置。