如何使用GULP / NODE在JavaScript中获取Jenkins BUILD_NUMBER?

时间:2018-10-15 10:51:07

标签: javascript node.js angular jenkins gulp

我有一个吞咽任务 getBuildNumber ,它使用Child Process执行脚本。

gulp.task('getBuildNumber', function() {
        var buildNumber = child_process.execSync("echo $BUILD_NUMBER").toString().trim();
        console.log(buildNumber);
    });

当我为gulp运行以下命令时

npm run gulp -- getBuildNumber

我总是得到的输出为$BUILD_NUMBER,而不是实际的Jenkins内部版本号。

有人可以建议如何进行此操作吗?

2 个答案:

答案 0 :(得分:2)

您可以使用process.env访问环境变量。

例如:

console.log(process.env.BUILD_NUMBER);

答案 1 :(得分:0)

根据https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback,您需要转义特殊字符:

exec('echo "The \\$HOME variable is $HOME"');

就您而言,这意味着您需要使用

[...]child_process.execSync("echo \\$BUILD_NUMBER").toString().trim();[...]
                                  ^^