【发布时间】:2013-10-27 23:39:46
【问题描述】:
我在一家相对较小的咨询公司工作,该公司为大公司提供 Java 企业 Web 应用程序。 在最近与客户的一次会面中,我就如何根据他们的工作方式调整我们的发布流程提出了一些想法。
对于每个应用程序平台,他们通常都有一个开发、测试和生产环境,我们的应用程序将在这些环境中部署。此外,我们有一个本地开发环境,我们在其中进行大部分开发。
我们目前的方法是我们有 4 组配置数据,每个环境一组。如果我们为其中一个环境准备发布,我们交换配置并使用 maven 生成用于部署在 tomcat 服务器上的 war 文件。此外,我们使用 git 进行版本控制。
我想将此过程自动化到一个整体构建过程中,但希望得到一些关于采用哪种方法的反馈:
配置
- 配置应该作为war文件的一部分集成到构建中,还是应该外部化并输入到Web应用程序中?这如何使用 maven 来实现?
- 如何处理多平台配置的差异? (例如,作为构建过程一部分的基于标志的方法)
人工制品生成
- 我的目标是为每个环境提供一个 rpm 而不是一个 war 文件,这样我就可以控制安装路径并使安装可逆。这是一种常见的做法吗?
版本控制
- 我们使用 git 进行版本控制,在一个存储库中包含一个 dev、stage 和 release 分支。目前我们还将所有平台配置存储到同一个存储库中,我认为这与 dev/stage/release 分支无关。放入单独的存储库是否有意义?
【问题讨论】:
-
只是提示here。
标签: java git maven tomcat deployment