CI/CD部署条件不触发
问题描述:
我一直在为此奋斗了一天以上。我在VSTS CI/CD管道中有一个简单的要求,我试图建立任何遵循模式release/*
或hotfix/*
的分支应该触发部署到我的QA环境。下面是我基于支路的构成:CI/CD部署条件不触发
预期此配置不触发部署。正如你在下面的屏幕截图中看到的那样,该版本运行但没有触发我的任何环境。 (QA是右侧第二个灰色方块,根据部署是成功还是失败,应为绿色或红色)。
在试图解决这个问题,我试图用建立标签来代替。我添加了一个Powershell步骤,该步骤根据分支的名称有条件地添加Build Tags。
$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定义显示的步骤。这里没有选择添加多个分支条件的选项。它们在触发器部分中设置。
你用一个分支而不是通配符模式试过吗? –
@DanielMann是的,它唯一触发的时间是如果我指定一个特定的分支名称。作为临时解决方案,我可以手动添加已知的发行版/修补程序分支,但VSTS应该支持更智能的部署条件。所有通过用户界面,他们让你做模式匹配 –
你也可以分享释放工件的设置?它是一个构建?如果是,则在构建定义*享“获取源”步骤的设置。 –