重新安装Jenkins和Cloudbees Free Enterprise插件后,我的Jenkins文件夹中设置的环境变量停止工作并从配置UI中消失。但是,它仍然存在于文件系统的config.xml中,如:
<properties>
<com.cloudbees.hudson.plugins.folder.properties.EnvVarsFolderProperty>
我现在应该如何创建适用于整个文件夹的环境变量?
答案 0 :(得分:3)
Folders Plus插件的功能已moved,需要Jenkins Enterprise付费许可证。
答案 1 :(得分:0)
经过深思熟虑后,由于我不得不暂时处理这个需求,我已经做了一些工作来定义我自己的插件来满足这个需求。它允许您为文件夹定义一个String属性列表,然后由其中的作业继承,从而无需为文件夹中的所有作业反复指定相同的属性。
https://github.com/mig82/folder-properties-plugin
我希望这对其他人有用。一旦我有时间更好地记录它并编写一些测试脚本,我打算将此提交给Jenkins CI Org。
答案 2 :(得分:0)
@ Mig82提供了很好的解决方案。但是,它有一个局限性,那就是它提供的文件夹环境变量在自由式构建的SCM部分以及其他一些部分中不可用。
我发现我可以使用groovy片段来解决这个问题:
import com.mig82.folders.wrappers.ParentFolderBuildWrapper import jenkins.tasks.SimpleBuildWrapper // Create a temporary Context object into which we can load the folder properties. myContext = new SimpleBuildWrapper.Context() // Create an object of the class "ParentFolderBuildWrapper". // This is the class at the heart of the Folder Properties plugin, // and it implements the code that gets the properties from the folder. parentFolderBuildWrapper = new ParentFolderBuildWrapper() // Load the folder properties into our Context object. parentFolderBuildWrapper.loadFolderProperties(currentJob, myContext) // Return the map containing the properties. return myContext.getEnv()