1

我们希望以包含日期和分支名称的方式命名我们的构建,以便在我们想要部署到我们的环境之一时可以轻松找到正确的工件。

我们有一个设置,其中有两个存储库:YAML 和 Code。管道位于 YAML 存储库中,我们想要构建和部署的代码位于代码存储库中。我已经设置了构建管道,以便在对代码存储库中的代码库进行更改时触发构建。但是,当构建被触发时,构建名称包含 YAML 存储库的分支名称。由于我们将此 repo 的主分支用于 CI 构建,因此构建的名称将类似于2021-01-01 103015 main

这使得我们在部署时很难找到正确的工件,因为一切似乎都指向一个主分支。相反,我们希望构建名称与2021-01-01 103015 Feature1 一致,其中 Feature1 是代码仓库的分支。

这就是我们在 YAML 中设置构建名称的方式:

name: $(Date:yyyy-MM-dd HHmmss) $(SourceBranchName)

有没有办法在构建名称中获取代码仓库的分支名称?

4

2 回答 2

1
- task: PowerShell@2
  name: 'updateBranchName'
  displayName: 'Update Build Name'
  inputs:
    targetType: inline
    script: |
      echo "*** Build.SourceBranch: $(Build.SourceBranch)"
      $sourceBranch = $("$(Build.SourceBranch)" -replace "refs/heads/", "")
      echo "*** Strip branch name from SourceBranch: $sourceBranch"
      echo "##vso[build.updatebuildnumber]$((get-date).tostring("yyyy-MM-dd HHmmss")) - $sourceBranch"
于 2021-08-12T13:00:12.440 回答
0

谢谢 Silent,以下对我有用,可以让 Azure 管道运行描述显示为“BranchName-BuildNUMber-** - 任务:PowerShell@2 输入:targetType:'inline' 脚本:|

      $branchname = $env:BUILD_SOURCEBRANCH -replace "/", "-"
      $branchname = $env:BUILD_SOURCEBRANCH -replace "refs/heads/", ""
      $buildnumber = $env:BUILD_BUILDNUMBER
  
      Write-Host "##vso[build.updatebuildnumber]$branchname-$buildnumber"
于 2022-02-18T19:50:23.350 回答