如何为Jenkins声明shell常量执行shell构建配置?

时间:2016-02-04 09:11:36

标签: shell jenkins

我在Jenkins作业配置的“执行shell”条目中运行以下命令。

AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=XXX CASS_HOSTNAME=XXX DB_HOSTNAME=XXX DB_PASSWORD=XXX DB_USERNAME=XXX EMAIL_REGION=XXX RED_HOSTNAME=XXXX RED_PORT=XXX npm run

如何为这些参数创建单个变量?我尝试声明一个常规的shell常量,如:

readonly parameters="AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=XXX .."
$parameters npm run init_test_tenant

但是我收到以下错误

/tmp/hudson6912171417213995775.sh:4:/tmp/hudson6912171417213995775.sh:AWS_ACCESS_KEY_ID = XXX:找不到

2 个答案:

答案 0 :(得分:2)

为了避免将 public partial class Startup { public void Configuration(IAppBuilder app) { //Get here the URL ConfigureAuth(app); } } 放在所有内容和open a hole in your code之前,您可以使用技巧:

eval

与您的问题中的尝试不同:export $parameters npm run init_test_tenant 以及之后要执行的所有其他命令都会显示所有变量,而npm语法只允许VAR=value command VAR {1}}。

答案 1 :(得分:1)

前缀为env

readonly parameters="AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=XXX .."
env $parameters npm run init_test_tenant

此外,如果您在 nodejs 程序中不需要任何其他环境变量,则可以将-i选项添加到env,以便为{{{{}}获得干净的环境1}},但是你必须通过完整路径(例如:npm)以及可能在你 nodejs 程序中运行的所有其他程序来解决npm

/usr/bin/npm

或者将readonly parameters="AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=XXX .." env -i $parameters /usr/bin/npm run init_test_tenant 添加到PATH=/usr/bin/常量,如下所示:

$parameters