gpt4 book ai didi

azure-devops - CI/CD 部署条件未触发

转载 作者:行者123 更新时间:2023-12-05 06:39:04 34 4
gpt4 key购买 nike

我已经为此奋斗了一天多了。我在 VSTS CI/CD 管道中有一个简单的要求,我正在尝试构建任何遵循模式 release/*hotfix/* 的分支都应该触发部署到我的 QA 环境。这是我基于分支的配置:

enter image description here

此配置不会按预期触发部署。正如您在下面的屏幕截图中看到的那样,发布运行但没有触发我的任何环境。 (QA 是从右边数第二个灰色方 block ,应为绿色或红色,具体取决于部署是成功还是失败)。

enter image description here

为了解决这个问题,我尝试改用构建标签。我添加了一个 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"
}

这正确地设置了构建标签,正如我在构建工件和应用了标签的日志中看到的那样。但是,将我的部署条件修改为标签感知会导致与我尝试使用分支完全相同的行为:

enter image description here enter image description here

编辑:根据要求,这里是 CI 定义,其中显示了获取源步骤。这里没有添加多个分支条件的选项。它们在触发器部分中设置。

Get Sources CI Config CI Triggers

最佳答案

这通常是由于同时配置了两个不同的条件造成的,因为 VSTS 在此处使用“AND”运算符而不是“OR”运算符。在这种情况下,部署条件如下:"Artifact Branch from Release/*"AND "Artifact Branch from Feature/*" 无法满足。如果您双击“Release 28”将其打开并将鼠标移到“i”图标上,您应该会看到它未被触发的原因。请检查是否是我上面提到的原因。

enter image description here

解决方法是创建一个新的部署环境并从 QA 克隆设置,然后将两个环境中的两个条件分开。

关于azure-devops - CI/CD 部署条件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45149289/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com