代码之家  ›  专栏  ›  技术社区  ›  Jesse Carter

CI/CD部署条件未触发

  •  3
  • Jesse Carter  · 技术社区  · 7 年前

    release/* hotfix/* 应该触发部署到我的QA环境。这是我基于分支的配置:

    enter image description here

    此配置不会按预期触发部署。正如你在下面的屏幕截图中看到的,这个版本运行了,但没有针对我的任何环境触发。(QA是右侧的第二个灰色正方形,根据部署是否成功,QA应该是绿色或红色)。

    enter image description here

    $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

    编辑:

    Get Sources CI Config CI Triggers

    1 回复  |  直到 7 年前
        1
  •  1
  •   Eddie Chen - MSFT    7 年前

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

    enter image description here

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