我们想将 $(SourceBranchName) 缩短为例如前 20 个字符。
您可以尝试使用command line\powershell 脚本将长字符串拆分为短字符串。
steps:
- script: |
echo $(Build.SourceBranchName)
set TestVar=$(Build.SourceBranchName)
set MyCustomVar= %TestVar:~0,20%
echo %MyCustomVar%
echo ##vso[task.setvariable variable=CustomVar]%MyCustomVar%
displayName: 'Get the first 20 character versions of Build.SourceBranchName'
然后我们可以得到SourceBranchName的短字符串。
一般SourceBranchName和SourceVersion不同,一般不是很长的字符串。如果你的SourceBranchName确实是一个很长的字符串,那么上面的方法对你有帮助。
您可以查看my previous thread 了解更多详情。
注意:如果您想缩短构建名称,我们需要通过 Logging 命令更新当前构建的构建号(例如Write-Host "##vso[build.updatebuildnumber]buildnumber"):
Write-Host "##vso[build.updatebuildnumber]$(Build.DefinitionName).$(CustomVar).$(rev:rrrrr)"
但是$(rev:rrrrr) 不能在任务中使用,所以我们必须在默认版本号格式(选项)中包含$(rev:rrrrr),例如:$(date:yyyyMMdd)-$(rev:rrrrr)。并从预定义变量(Build.BuildNumber/BUILD_BUILDNUMBER)中获取当前版本号,然后我们解析$(rev:rrrrr)的值。