【问题标题】:How to handle multi environment builds?如何处理多环境构建?
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    相关资源
    最近更新 更多