基于不同存储库分支的Azure DevOps管道构建名称



我们希望以这样一种方式命名我们的构建,它包括日期和分支名称,这样当我们想要部署到我们的一个环境时,我们可以很容易地找到正确的工件。

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

这使得当我们想要部署时很难找到正确的工件,因为一切似乎都指向一个主分支。相反,我们希望构建名称沿着2021-01-01 103015 Feature1其中Feature1是Code repo的分支。

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

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

是否有办法在构建名称中获得代码仓库的分支名称?

- 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"

谢谢你沉默,下面的工作对我来说有Azure管道运行描述显示为"BranchName-BuildNUmber-**-任务:PowerShell@2输入:targetType:"内联"脚本:|

$branchname = $env:BUILD_SOURCEBRANCH -replace "/", "-"
$branchname = $env:BUILD_SOURCEBRANCH -replace "refs/heads/", ""
$buildnumber = $env:BUILD_BUILDNUMBER

Write-Host "##vso[build.updatebuildnumber]$branchname-$buildnumber"

最新更新