设置环境变量 grunt 或 grunt-exec
Set environment variables grunt or grunt-exec
我正在尝试使用 g运行t-exec 来 运行 一个 javascript 测试 运行ner 并传入一个已部署的 link 变量.
我试图通过使用 exec:setLink
设置环境变量 grunt.option('link')
来做到这一点。在我的 test_runner.js
中,我用 process.env.TEST_LINK
获取变量。不幸的是,g运行t-exec 似乎不会 运行 bash 命令,例如 export(?)
真的,我不关心变量是如何到达我的 test_runner.js
所以任何其他想法都会受到欢迎。
exec: {
// DOESN'T WORK: Sets env variable with link for selenium tests
setLink: {
cmd: function () {
return "export TEST_LINK=" + "'" + grunt.option('link') + "'";
}
},
// Integration tests, needs TEST_LINK
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
}
}
使用grunt-exec
,可以在env
option:
中指定子进程的环境变量
exec: {
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
},
options: {
env: {
'TEST_LINK': grunt.option('link')
}
}
}
}
要记住的一件事是,如果在 env
选项中只指定了 TEST_LINK
,那将是子进程的唯一环境变量。如果你想让当前进程的环境变量也被传递,你可以这样做:
exec: {
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
},
options: {
env: Object.assign({}, process.env, { 'TEST_LINK': grunt.option('link') })
}
}
}
我最终只使用了节点 process.env['TEST_LINK'] = grunt.option('link');
然后用 process.env['TEST_LINK'];
在我的 javascript 中检索
我正在尝试使用 g运行t-exec 来 运行 一个 javascript 测试 运行ner 并传入一个已部署的 link 变量.
我试图通过使用 exec:setLink
设置环境变量 grunt.option('link')
来做到这一点。在我的 test_runner.js
中,我用 process.env.TEST_LINK
获取变量。不幸的是,g运行t-exec 似乎不会 运行 bash 命令,例如 export(?)
真的,我不关心变量是如何到达我的 test_runner.js
所以任何其他想法都会受到欢迎。
exec: {
// DOESN'T WORK: Sets env variable with link for selenium tests
setLink: {
cmd: function () {
return "export TEST_LINK=" + "'" + grunt.option('link') + "'";
}
},
// Integration tests, needs TEST_LINK
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
}
}
使用grunt-exec
,可以在env
option:
exec: {
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
},
options: {
env: {
'TEST_LINK': grunt.option('link')
}
}
}
}
要记住的一件事是,如果在 env
选项中只指定了 TEST_LINK
,那将是子进程的唯一环境变量。如果你想让当前进程的环境变量也被传递,你可以这样做:
exec: {
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
},
options: {
env: Object.assign({}, process.env, { 'TEST_LINK': grunt.option('link') })
}
}
}
我最终只使用了节点 process.env['TEST_LINK'] = grunt.option('link');
然后用 process.env['TEST_LINK'];