我在 jenkins 构建流程上配置了 3 个作业,所需的活动是获取由 b1 到 b2 的构建后任务和 b2 到 b3 的变量等产生的动态变量,依此类推。
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)
如上所述,每个先前的作业都会生成动态变量(作为构建后操作的一部分 - 我在一个实例中使用描述设置器插件来生成一个动态变量,而我希望在 b3 中使用 b1 的BUILD_URL )
为了做到这一点,我遇到了这个链接中的一篇文章并使用了 EnvInject Plugin。使用它我执行了以下操作 -
- 我创建了一个工作(envInj),以便将这些动态变量注入环境
- 我将该 envInj 作业用作 b1 的后置条件作业,并在 b1 和 b2 之间留出了一些时间,以确保后置条件作业在 b2 开始之前执行。
- 这实际上注入了环境所需的变量(如果在控制台日志以及 envInj 作业的环境变量中检查)。
但我面临的问题是那些新注入的变量不可用于 b2 访问,b3 也是如此。
那么,是否有任何选项可以将这些 b1 变量传递给 b2 (依此类推),或者有没有更好的方法来实现所需的?