Jenkins CI:商店配置文件的位置和方式?

时间:2014-10-07 11:47:31

标签: maven configuration jenkins external configuration-files

我正在将配置参数移出Java应用程序。我发现最好的方法是to extend your classpath并使用.properties文件(单独留下ZooKeeper用于其他要求)。

所以我的WAR文件不再有任何主机/ IP / URL,用户/密码。

DevOps在测试,阶段,稳定安装中手动分配配置。

现在是Jenkins运行测试的时候了。但它们失败了,因为类路径中没有必需的.propeties文件。

如何将此配置文件加载到Jenkins以及如何在测试类路径中使用?

maven-surefire-plugin allow extending classpathpassing system-properties

因此,只询问如何在Jenkins托管服务器中获取单独的目录并将文件加载到此目录,并为每个构建作业创建别名/占位符/ envvar以在构建配置中引用此路径。

这项工作可以通过SSH访问完成,但我认为这是"错误的方式"。我希望这可以通过Jenkins UI完成(任何经理都可以在WEB浏览器中上传文件)。

UPDATE 我对分布式slave / master版本没有要求,但是很高兴有一个解决方案可以自动将配置文件迁移到Slave ...

以这种方式sshing to host或ftp / scp - 糟糕的事情。

2 个答案:

答案 0 :(得分:10)

我阅读了Jenkins的大部分文档,在邮件列表和IRC上查询。是的 - 詹金斯社区是沉默的。在文档中,我找到了配置文件提供程序插件的链接,之后我访问了http://builder.evil.com/jenkins/pluginManager/available页面并查找 config 关键字。

有很多相关的插件对我的主题有多种用处(最无用的):

只有最后一个插件 - Config File Provider Plugin允许通过Jenkins WEB界面编辑配置。它有兄弟 - Managed Script Plugin - 用于上传/管理/编辑自定义脚本。毫无疑问,现在我使用配置文件提供程序插件

答案 1 :(得分:-1)

您应该将测试所需的配置与其余源代码一起保存,以便在编译之后,您的单元测试可以运行。

在部署.war之后,DevOps团队应该用他们拥有的每个环境配置来覆盖战争中的配置。