【问题标题】:Expose global environment variable from Jenkins plugin从 Jenkins 插件公开全局环境变量
【发布时间】:2017-10-12 10:38:08
【问题描述】:

我正在开发一个 Jenkins 插件,我需要为 Jenkins 中的所有作业提供一个新的环境变量。有点像 Jenkins 全局属性或环境变量 env.MY_ENV_VAR,或者可能完全一样。我不知道。我只需要它可用于任何脚本。

我已经在插件的config.jelly 文件的其中一个条目中捕获了此环境变量的值,该文件已公开并可通过转到Jenkins>Manage Jenkins>Configure System>My Plugin's Settings 进行设置。因此,管理员还必须将其设置为Jenkins>Manage Jenkins>Configure System>Global properties,这感觉就像是双重工作。

然后,作为第二步,考虑将来可能会公开其他变量,我应该如何对这些变量进行命名?有点像envparamsdockerscmcurrentBuild 环境变量。为了拥有自己的名称空间环境变量,我应该扩展什么?例如:拥有一个foo 命名空间并访问我的变量,例如使用foo.MY_VAR_1foo.MY_VAR_2 等等。

谁能指出我正确的方向?

【问题讨论】:

    标签: jenkins jenkins-plugins


    【解决方案1】:

    在查看了Docker Pipeline Plugin 插件和Pipeline Groovy Plugin 是如何做到这一点之后,我最终扩展了org.jenkinsci.plugins.workflow.cps.GlobalVariable,这反过来又需要将此依赖项添加到您的项目中:

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

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

    【讨论】:

      猜你喜欢
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 2017-05-06
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多