一尘不染

如何从Jenkins Build Flow插件导出环境变量?

jenkins

从调用的构建流程作业中,我尝试了两种方法:

build.environment['AOEU'] = 'aoeu' // callee would `println called.environment['AOEU']`

和:

upstream.environment['AOEU'] = 'aoeu' // callee would `println build.environment['AOEU']`

没有运气。


阅读 279

收藏
2020-07-25

共1个答案

一尘不染

我也为此付出了很多努力,却发现没有干净的方法可以做到这一点。我终于EnvInjectPlugin以某种丑陋的方式来做到这一点。

def buildEnv = build.getEnvVars();
varsToAdd =  [:] 
  // add here your custom properties
buildEnv.putAll(varsToAdd) 
import org.jenkinsci.plugins.envinject.EnvInjectPluginAction
def envInjectAction = build.getAction(EnvInjectPluginAction.class);
envInjectAction.overrideAll(buildEnv)

… EnvInject插件神奇

我首先尝试实现EnvironmentContributingAction
并将其添加为,build.addAction(...)但由于未知原因对我不起作用。

确保在调用的作业中设置“ Flow run需要一个工作区”。

2020-07-25