我正在尝试创建一个 JS 实用程序来对 VSTS 构建进行版本标记,其中包含有关分支和提交 ID 的详细信息。
我一直在使用 git-rev-sync,它在本地运行良好。但是,当使用 VSTS 构建定义 checkout 代码时,存储库被分离,我无法再从 git 存储库本身确定当前代码属于哪个分支。
git-rev-sync 报告了以下内容: 分离:705a3e89206882aceed8c9ea9b2f412cf26b5e3f
而不是“开发”或“掌握”
我可能会查看 vsts Node SDK,它可能能够像使用 Powershell 脚本一样获取 VSTS 环境变量。
有人做过这个或以更简洁的方式解决这个问题吗?
最佳答案
构建变量将被添加到当前进程的环境变量中,因此您可以从环境变量访问Build.SourceBranchName
内置变量:
PowerShell:
$env:BUILD_SOURCEBRANCHNAME
NodeJS:
process.env.BUILD_SOURCEBRANCHNAME
Shell 脚本:
$BUILD_SOURCEBRANCHNAME
批处理脚本:
%BUILD_SOURCEBRANCHNAME%
您还可以通过任务参数 ($(Build.SourceBranchName)
) 传递它,例如,使用 Replace Tokens task将变量值替换为文件,然后您可以从文件中读取该值(替换 %{BUILD_SOURCEBRANCHNAME}%
)。
关于node.js - 在 VSTS 构建期间,使用 npm 脚本,如何确定触发构建的分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47058907/