尝试构建一个Android项目,gradle检出由Azure DevOps触发的特定分支并构建包。任务完成后,Azure pipeline签出到HEAD。因此,在下一个任务中,当我得到分支名称/标签时,不打印分支名称(feature/Android_fix_something)(. 我想重命名apk文件与标签的名称(Android_fix_something.apk) .
您要找的是Build.SourceBranchName
:
构建。SourceBranchName
构建排队等待的触发repo中的分支名称。
Git的repo分支或pull请求:ref中的最后一个路径段。例如,在refs/heads/master中,该值为master。在refs/heads/feature/tools中,这个值是tools.
从docs
根据你的描述,Android_fix_something是提交的标签名称。
如果你的管道不是由提交标签直接触发的,恐怕没有这样的预定义变量来获取这个值。
要获取标签名,您可以尝试下面的PowerShell脚本来获取它并将其设置为管道变量。
- powershell: |
$tag = git describe --exact-match $(Build.SourceVersion)
echo "##vso[task.setvariable variable=tagname;]$tag"
displayName: 'PowerShell Script'
那么你可以在接下来的任务中使用变量$(tagname)
。