0

我在jenkins构建流程上配置了3个作业,并且所需的活动是获取生成后的动态变量b1到b2的任务和b2到b3的变量等等。如何在jenkins中使用生成的变量创建流程并将这些流程用于相同jenkins构建流程中的下一个作业

list = ["foo", "bar"] 

b1 = build("ExecuteJob1", param1: list[idx]) 
b2 = build("ExecuteJob2", param1: <some dynamic variable from b1>) 
b3 = build("ExecuteJob3", param1: <some dynamic variable from b2>, param2: some dynamic variable from b1) 

如上所指出的,有各以前的工作产生的动态变量(如生成后行动的一部分 - 我使用description setter插件在一个实例来生成一个动态变量和其他我想BUILD_URL b1中使用b1)

为了达到这个目的,我遇到了这个link中的帖子,并使用了EnvInject Plugin。使用此我进行了以下 -

  1. 我为了注入这些动态变量纳入环境
  2. 创建一个作业(envInj)我用envInj工作为B1后置条件的工作,给出一些时间之间b1和b2以确保在b2开始之前执行后续条件作业。
  3. 这实际上会将需要的变量注入到环境中(如果在控制台日志中以及envInj作业的环境变量中进行检查)。

但我面临的问题是那些新注入的变量不适用于b2访问和b3相同的情况。

那么,是否有任何选项可以让b1变量变为b2(等等等等)或者是否有更好的方法来实现所需的?

回答

0

我得到了解决上述问题的,如@戴夫巴切尔在上面的链接中指定,

  1. Post Build Task插件使用批处理脚本倾倒的参数文件。
  2. 使用EvnInj plugin将此文件注入环境。
  3. 这让我访问构建的其他工作的参数流

    b1 = build("ExecuteJob1", param1: list[idx]) 
    b2 = build("ExecuteJob2", param1: b1.dynamicVariableX) 
    b3 = build("ExecuteJob3", param1: b1.dynamicVariableY, param2:nb2.dynamicVariableZ) 
    

这工作完全允许通过环境

访问动态变量
相关问题