如何处理多环境构建?

时间:2013-10-27 13:42:57

标签: java git maven tomcat deployment

我在一家规模相对较小的咨询公司工作,该公司为大公司提供java企业Web应用程序。 在最近与客户见面时,我就如何根据他们的工作方式定制我们的发布流程提出了一些想法。

对于每个应用程序平台,他们通常都有一个开发,测试和生产环境,我们的应用程序部署在该环境中。此外,我们有一个本地开发环境,我们在其中进行大部分开发。

我们目前的方法是我们有4组配置数据,每个环境一个。如果我们为其中一个环境准备一个版本,我们交换配置并使用maven生成war文件,以便在tomcat服务器上进行部署。此外,我们使用git进行版本控制。

我希望将此流程自动化为一个整体构建流程,但是会对哪些方法采取一些反馈表示赞赏:

配置

  • 配置是否应该作为war文件的一部分集成到构建中,或者外部化并提供给Web应用程序?怎么能用maven实现呢?
  • 您如何处理多平台配置的差异? (例如,基于标志的方法作为构建过程的一部分)

人工制作

  • 我的目标是为每个环境而不是war文件提供rpm,这样我就可以控制安装路径并使安装可逆。这是一种常见做法吗?

版本控制

  • 我们使用git进行版本控制,在单个存储库中使用dev,stage和release分支。目前我们还将所有平台配置存储到同一个存储库中,我认为这与dev / stage / release分支无关。放入单独的存储库是否有意义?

1 个答案:

答案 0 :(得分:0)

如果这是编译时配置 - 您可以使用something.properties文件驱动,让ant / maven根据各种属性决定。

如果配置是运行时,则可以通过相应的web.xml或类似文件将其驱动