Jenkins:在脚本之间传递变量,并在后期构建操作上访问它

时间:2017-11-23 21:14:46

标签: jenkins jenkins-plugins jenkins-cli

我有一个Jenkins工作,来自bitbucket的SCM,两个shell脚本,以及将结果发布到Slack的post构建操作。

天真我想将第一个shell脚本中的结束变量传递给第二个,在第二个shell脚本中向该变量添加一些信息,然后将该变量附加到Slack自定义消息。

我期待这是一个内置的功能,现在花几天时间在它上面。我已经厌倦了 EnvInject 环境注入全局变量字符串参数插件,但在任何配置中我都尝试过它不起作用

在某些情况下,我收到了此错误:

21:01:08 [EnvInject] - [ERROR] - The given properties file path 'build.properties' doesn't exist.

我知道这个文件不存在..我希望插件能够创建它,所以我可以在第一个shell脚本中添加新内容,并在作业的每个其他步骤中加载。

我错过了什么或误用了这些插件吗?

1 个答案:

答案 0 :(得分:4)

就像我经常看到它经常发生一样,在提出问题之后,我能够像这样解决它:

首先我们创建一个shell脚本来创建文件,我已经添加了一个值: enter image description here

然后我们告诉Jenkins从build.properties文件中注入变量: enter image description here

然后我们更改文件中变量的值: enter image description here

然后我们告诉Jenkins从同一个文件中注入变量: enter image description here

然后我们可以观察下一个shell中的值变化: enter image description here

同样在post构建操作中: enter image description here

成功: enter image description here