当前位置: 首页 > 知识库问答 >
问题:

从Jenkins插件公开全局环境变量

沙柏
2023-03-14

我正在开发一个詹金斯插件,我需要为詹金斯的所有工作提供一个新的环境变量。有点像Jenkins全局属性或环境变量env。MY_ENV_VAR,或者完全一样。我不确定。我只需要它对任何脚本都可用。

我已经在插件的config.jelly文件的一个条目中捕获了这个环境变量的值,该文件是公开的,可以通过访问Jenkins来设置

然后,作为第二步,并考虑将来可能公开其他变量,我应该如何处理这些名称行间距?排序的方式有envparamsdockerscm当前构建环境变量。为了拥有自己的名称间隔环境变量,我应该扩展什么?例如:有一个foo名称空间,并像使用foo一样访问我的变量。MY_VAR_1foo。MY_VAR_2等等。

谁能给我指出正确的方向吗?


共有1个答案

公冶森
2023-03-14

在研究了Docker管道插件和管道Groovy插件是如何做到这一点的之后,我最终扩展了org。詹金西。插件。工作流程。cps。GlobalVariable,这反过来又要求将此依赖项添加到项目中:

<dependency>
    <groupId>org.jenkins-ci.plugins.workflow</groupId>
    <artifactId>workflow-cps</artifactId>
    <version>2.25</version>
</dependency>

我希望这能帮助其他有类似要求的人。

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

  • 问题内容: 从调用的构建流程作业中,我尝试了两种方法: 和: 没有运气。 问题答案: 我也为此付出了很多努力,却发现没有干净的方法可以做到这一点。我终于以某种丑陋的方式来做到这一点。 … EnvInject插件神奇 我首先尝试实现EnvironmentContributingAction 并将其添加为,但由于未知原因对我不起作用。 确保在调用的作业中设置“ Flow run需要一个工作区”。

  • 本文向大家介绍Lua中全局变量与非全局环境介绍,包括了Lua中全局变量与非全局环境介绍的使用技巧和注意事项,需要的朋友参考一下 今天来聊两个话题——全局变量和非全局环境。 正如大家目前心里所感受到的,全局变量的内容很简单,而非全局环境的内容就稍微要锻炼一下脑细胞了。 1.全局变量的原形 在Lua中,要声明全局变量很简单,那就是定义变量的时候,前面不要加上local。 这个神秘的全局变量,其实本质上

  • 问题内容: 我在环境指令的管道顶部定义了环境变量: 但是我需要在阶段中动态设置或覆盖一些内容。但是,如果我在一个阶段中使用environment {}指令,则其他阶段将无法访问var。最初,我认为我可以在top环境指令中使用默认值定义它们,并在管道中覆盖它们,但这是我观察到的行为: 在环境块中定义var 尝试覆盖script {}块,例如: 该环境不会被覆盖 如何更改环境? 问题答案: 您可以按照

  • 我需要在我所有的idea运行配置中使用一个环境变量。我目前使用run- 我试图设置env变量在我的linux系统使用在各种会话配置文件:,,,但是intellij在运行过程中似乎忽略了这些变量,即使当我从intellij内置终端启动时,它显示了正确的输出。 我也尝试使用intellij. env文件插件,然后设置在文件在项目根。也没起作用。

  • 问题内容: 我正在从已设置用户权限的用户那里运行Jenkins ,当我进入Jenkins Web界面时,在“ 系统属性” 窗口()中看到了一个不同的。 我已经使用Jenkins网站上的本地rpm在Centos上安装了Jenkins。我正在使用安装随附的启动脚本 谁能告诉我为什么会这样? 问题答案: 迈克尔 两件事情: 当詹金斯连接到计算机时,它将连接到外壳,而不是外壳(至少这是我注意到的-我可能错