当前位置: 首页 > 面试题库 >

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

江佐
2023-03-14
问题内容

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

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

和:

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

没有运气。


问题答案:

我也为此付出了很多努力,却发现没有干净的方法可以做到这一点。我终于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需要一个工作区”。



 类似资料:
  • 我需要导出很多变量,比如export x1=1 export x2=2 我移动了文件中的所有变量。环境和尝试 源代码 之后我处决了 所有这些变量都不在环境变量列表中。我还尝试了

  • 问题内容: 在安装gnuplot之前,我先设置环境变量。在安装过程中,出现了问题。 我想删除环境变量。我该如何实现? 问题答案: 是您要查找的命令。

  • 问题内容: 我正在将Jenkins与Testswarm和此插件一起使用(派生资源)。 我想为Testswarm获取一个“工作名称”,其中包含詹金斯的工作名称,内部版本号和svn修订版号。 将JOB_NAME放在配置字段中无济于事,该变量不会被其值替换。 因此,我修改了插件源代码以获取Jenkins环境变量,但我得到的只是“空”变量。 这是罪魁祸首代码。(在第205行的src / main / ja

  • 我正在开发一个詹金斯插件,我需要为詹金斯的所有工作提供一个新的环境变量。有点像Jenkins全局属性或环境变量,或者完全一样。我不确定。我只需要它对任何脚本都可用。 我已经在插件的文件的一个条目中捕获了这个环境变量的值,该文件是公开的,可以通过访问

  • 假设我有. env文件包含如下行: 不像普通的文件有< code>export前缀,所以我不能直接获取文件。 创建从. env文件加载内容并将其设置为环境变量的外壳脚本的最简单方法是什么?

  • 问题内容: 我在致电时设置环境变量时遇到问题。似乎没有设置环境变量。关于如何为Python命令行调用正确设置环境变量的任何建议? 我的目标是运行一个使用从我的Python代码确定的环境变量的脚本: 但是脚本的反应就像从未设置过变量一样 这是我尝试使用Python的交互式解释器进行测试: 输出为: 我认为应该为子流程设置环境,但是显然没有。有关如何更正此问题的任何建议? 问题答案: 命令行上 环境变