如何正确使用EnvInject Jenkins插件?
问题描述:
工作流程,我想创建如何正确使用EnvInject Jenkins插件?
我不是这样的例外:
[EnvInject] - Loading node environment variables.
Building remotely on master-worker (lucid) in workspace /data/jenkins/workspace/QA-350_MultiJob
[QA-350_MultiJob] $ /bin/sh -xe /tmp/hudson757569632298940894.sh
+ curl --user **** -X POST --header Content-Type: application/json --header Accept: */* -d {
"description": "string",
"mode": "DEFAULT",
"name": "string",
"start_time": "2015-11-05T13:26:40.626Z",
"tags": [
"string"
]
} https://****
+ jq .id
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 144 0 286 --:--:-- --:--:-- --:--:-- 286
0 33 0 33 0 144 49 215 --:--:-- --:--:-- --:--:-- 0
+ ID = "563c8d3ae4b0bf061cd3d999"
/tmp/hudson757569632298940894.sh: 1: ID: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
答
您不需要在“属性内容”添加任何东西,只要在“属性文件路径”你都指向该文件包含变量分配(例如ID = 123)。
- 验证由shell脚本创建的工作空间中的文件是否包含变量赋值。
- 清除“属性内容”框。
- 您可以从“属性文件路径”中删除$ WORKSPACE - 默认情况下,它与作业的工作区相关。
你应该把文件中的变量加载到作业环境中。
虽然@freebourn有很好的建议,但实际的错误显示'ID = $(...)'失败,因为在shell中,在一个赋值中不应该有空格:'ID = $(...) ' –
下一次,请给我们失败的代码(不是它的图像,一些关键细节被遮住)。 – Arran