我有一个吞咽任务 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内部版本号。
有人可以建议如何进行此操作吗?
答案 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();[...]
^^