【问题标题】:Jenkins: Passing a variable between scripts, and accessing it on a post build actionsJenkins:在脚本之间传递变量,并在构建后操作中访问它
【发布时间】:2017-11-23 21:14:46
【问题描述】:

我有一份 Jenkins 工作,使用来自 bitbucket 的 SCM、两个 shell 脚本和一个将结果发布到 Slack 的构建后操作。

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

我原以为这是一个内置功能,但现在我花了几天的时间在它上面。我已经厌倦了 EnvInjectEnvironment InjectGlobal Variable String Parameter 插件,但是在我尝试过的任何配置中它都不起作用.

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

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

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

我是否遗漏了什么或滥用了这些插件?

【问题讨论】:

    标签: jenkins jenkins-plugins jenkins-cli


    【解决方案1】:

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

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

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

    然后我们改变文件中变量的值:

    然后我们再次告诉 Jenkins 从同一个文件中注入变量:

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

    也在后期构建操作中:

    成功:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 2020-06-04
      • 1970-01-01
      相关资源
      最近更新 更多