带有artifactory / maven的配置和属性文件的最佳实践

时间:2014-04-07 13:50:14

标签: java maven artifactory

我们有很多java属性文件以及需要与我们的应用程序一起部署的JBoss配置文件。目前,我们有一个maven构建,它将所有.jar和.war文件放入artifactory,但不是.property文件或JBoss配置。是否存在将这些存储在神器中的最佳实践?如果它们不应该存储在那里,它们应该存储在哪里,以便可以使用二进制文件轻松部署它们?

4 个答案:

答案 0 :(得分:0)

如果它们是应用程序配置,则必须随应用程序一起提供,即在jar文件或war文件中。单独部署它们不是一个好主意。

放置它们的最佳位置在maven项目的resources文件夹中,如果是Web应用程序,则放在WEB-INF中。

除了担心部署或存储它们之外,如果要在基础架构中的各个组件之间共享它们,请考虑更好的方法,例如将它们保存在键值存储,数据库或共享文件中。

答案 1 :(得分:0)

在Artifactory中保存属性文件是一种很好的做法。确保使用属性(例如,build-name,build-number等)将它们与应用程序二进制文件绑定。您可以使用Artifactory的build integration功能自动执行此操作,并在部署期间标记工件和属性文件。

答案 2 :(得分:0)

我认为应该将应用程序服务器配置文件与应用程序文件分开..

如果你考虑一下spring配置文件,它们很难与应用程序结合,所以它们应该在资源目录中,但是应用程序服务器配置文件没有与apllication结合,所以它们应该单独存储..

我认为最好的方法是使用一些Maven插件来完成这个需求......

类似的东西:

访问https://docs.jboss.org/wildfly/plugins/maven/latest/

比...确定,artifactory可能是保存配置文件的好位置,不是在jar内部,而是单独的。

答案 3 :(得分:0)

没有最佳实践,两种解决方案都很好。在实践中,通常取决于使用的部署工具,您的应用程序架构(例如,组件之间共享的配置文件等等),环境数量,配置文件加密的需要以及您的发布周期(您是否需要重新包装每个配置更改?)等。

例如,如果使用ansible,则默认设置是在VCS中存储配置和部署指令。这意味着在这种情况下Artifactory的所有内容都是二进制文件。