我正在尝试创建一个JS实用程序来为VSTS版本标记版本,其中包含有关分支和提交ID的详细信息。
我一直在使用git-rev-sync,它在本地工作正常。但是,当使用VSTS构建定义签出代码时,repo被分离,我不再能够从git repo本身确定当前代码所属的分支。
git-rev-sync报告的内容如下: 已分离:705a3e89206882aceed8c9ea9b2f412cf26b5e3f
而不是“发展”或“掌握”
我可以查看vsts节点SDK,它可以像使用Powershell脚本那样获取VSTS环境变量。
有没有人这样做过或以更简洁的方式解决了这个问题?
答案 0 :(得分:4)
构建变量将添加到当前进程的环境变量中,因此您可以从环境变量访问Build.SourceBranchName
内置变量:
的PowerShell:
$env:BUILD_SOURCEBRANCHNAME
的NodeJS:
process.env.BUILD_SOURCEBRANCHNAME
Shell脚本:
$BUILD_SOURCEBRANCHNAME
批处理脚本:
%BUILD_SOURCEBRANCHNAME%
您也可以通过任务($(Build.SourceBranchName)
)的参数传递它,例如,使用Replace Tokens task将变量值替换为文件,然后您可以从文件中读取值(replace { {1}})。