我正在开发一个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
下设置它,这就像双重工作一样。
然后,作为第二步,并考虑在未来可能暴露其他变量,我应该如何处理这些名字-间距?env
、params
、docker
、scm
、currentBuild
环境变量都是这样的。我应该扩展什么才能有我自己的名字间隔的环境变量?例如:拥有一个foo
名称-空格并访问我的变量,比如使用foo.MY_VAR_1
、foo.MY_VAR_2
等等。
谁能给我指明正确的方向?
发布于 2017-10-17 17:51:59
在查看了码头管道插件插件和管道Groovy插件是如何做到这一点之后,我最终扩展了org.jenkinsci.plugins.workflow.cps.GlobalVariable
,这反过来需要添加到您的项目中的这个依赖项:
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-cps</artifactId>
<version>2.25</version>
</dependency>
我希望这对其他有类似要求的人有所帮助。
https://stackoverflow.com/questions/46707508
复制相似问题