我正在从Java应用程序中移出配置参数.我发现最好的方法是扩展你的类路径并使用.properties
文件(让ZooKeeper单独用于另一个要求).
所以我的WAR文件不再有任何主机/ IP/URL,用户/密码.
DevOps在测试,阶段,稳定安装中手动分配配置.
现在是Jenkins运行测试的时候了.但是它们失败了,因为.propeties
类路径中没有必需的文件.
如何将此配置文件加载到Jenkins以及如何在测试类路径中使用?
maven-surefire-plugin
允许扩展类路径 并传递系统属性.
因此,只询问如何在Jenkins托管服务器中获取单独的目录并将文件加载到此目录,并为每个构建作业创建别名/占位符/ envvar以在构建配置中引用此路径.
这项工作可以通过SSH访问完成,但我认为这是"错误的方式".我希望这可以通过Jenkins UI完成(任何管理员都可以在WEB浏览器中上传文件).
更新我对分布式slave/master版本没有要求,但是很高兴能有自动将配置文件迁移到slave的解决方案......
用这种方式sshing到主机或ftp/scp - 坏事.
我阅读了Jenkins的大部分文档,在邮件列表和IRC上查询.是的 - 詹金斯社区是沉默的.在docs,我找到了Config File Provider Plugin的链接,然后访问http://builder.evil.com/jenkins/pluginManager/available页面并查找config关键字.
有很多相关的插件,对我的主题有各种用处(最无用的第一个):
https://wiki.jenkins-ci.org/display/JENKINS/Envfile+Plugin - 此插件允许您通过文件设置环境变量.
https://wiki.jenkins-ci.org/display/JENKINS/Credentials+Binding+Plugin - 允许将凭据绑定到环境变量,以便从其他构建步骤中使用.
https://wiki.jenkins-ci.org/display/JENKINS/Environment+Script+Plugin - 允许您在每次为其生成环境变量的构建之前运行脚本.
https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin - 这个插件可以为你的工作提供一个孤立的环境.
https://wiki.jenkins-ci.org/display/JENKINS/Copy+Data+To+Workspace+Plugin - 将数据复制到每个项目构建的工作区目录.
https://wiki.jenkins-ci.org/display/JENKINS/Copy+To+Slave+Plugin-此插件允许将一组文件从主节点上的某个位置复制到作业的工作区.它还允许将文件从位于从节点上的作业的工作空间复制回主节点上的工作空间.
https://wiki.jenkins-ci.org/display/JENKINS/Config+File+Provider+Plugin - 添加提供配置文件的功能(即maven,XML,groovy,自定义文件等的settings.xml)通过Jenkins UI加载,将被复制到作业的工作区.
只有最后一个插件 - 配置文件提供程序插件允许通过Jenkins WEB界面编辑配置.它有兄弟 - 管理脚本插件 - 用于上传/管理/编辑自定义脚本.毫无疑问,我现在使用Config File Provider插件!