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