【问题标题】:During a VSTS build, using an npm script, how can I determine the branch that triggered the build?在 VSTS 构建期间,使用 npm 脚本,我如何确定触发构建的分支?
【发布时间】:2017-11-01 15:59:14
【问题描述】:

我正在尝试创建一个 JS 实用程序来对 VSTS 构建进行版本标记,其中包含有关分支和提交 ID 的详细信息。

我一直在使用本地运行良好的 git-rev-sync。但是,当使用 VSTS 构建定义签出代码时,repo 被分离,我不再能够从 git repo 本身确定当前代码属于哪个分支。

git-rev-sync 报告的内容如下: 分离:705a3e89206882aceed8c9ea9b2f412cf26b5e3f

而不是“开发”或“大师”

我可能会查看 vsts 节点 SDK,它可能能够像使用 Powershell 脚本一样获取 VSTS 环境变量。

有没有人这样做或以更简洁的方式解决了这个问题?

【问题讨论】:

    标签: node.js git npm build azure-devops


    【解决方案1】:

    构建变量将被添加到当前进程的环境变量中,因此您可以从环境变量中访问Build.SourceBranchName构建变量:

    PowerShell:

    $env:BUILD_SOURCEBRANCHNAME 
    

    NodeJS:

    process.env.BUILD_SOURCEBRANCHNAME
    

    Shell 脚本:

    $BUILD_SOURCEBRANCHNAME
    

    批处理脚本:

    %BUILD_SOURCEBRANCHNAME%
    

    您也可以通过任务的参数($(Build.SourceBranchName))传递它,例如,使用替换Tokens task将变量值替换为文件,然后您可以从文件中读取值(替换%{BUILD_SOURCEBRANCHNAME}%)。

    【讨论】:

    • NodeJS: process.env.BUILD_SOURCEBRANCHNAME 是我所追求的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 2016-12-28
    • 2019-03-04
    • 2018-05-19
    相关资源
    最近更新 更多