【问题标题】:Approach to be followed for deploying the application部署应用程序要遵循的方法
【发布时间】:2012-11-28 05:59:35
【问题描述】:

我们已经在 java (STRUTS 2.0) 中开发了一个基于 Web 的应用程序。现在我们要部署应用程序。客户端拥有一个预 UAT 环境、UAT 环境和一个生产环境。

现在,当我们为 pre-UAT 进行部署时,我们已经创建了项目的副本并将其重命名为 pre-UAT。同样,我们正在规划 UAT 环境,并且我们已经拥有一个用于开发的环境。因此,我们总共将拥有 3 个代码副本。

我想问这种方法是否正确或遵循的标准方法是什么。这不是我们的最终版本,因为我们首先发布一个版本,然后我们将开发其他模块。

所以请任何人指导我创建这 3 个不同环境的方法。在此先感谢

【问题讨论】:

    标签: java web-applications deployment struts web-deployment


    【解决方案1】:

    我不确定您所说的“我们将拥有 3 个代码副本”是指什么。如果您暗示您实际上多次复制了代码库,请停止阅读并参考以下内容:

    Why is "copy and paste" of code dangerous?

    一旦你读完,做一些关于源代码控制以及如何使用分支/标记进行并发开发的研究。


    如果您指的是多环境部署

    假设您的应用程序设计正确(并且我在这里非常小心),一个 WAR 文件(您提到您使用的是 Tomcat,所以我认为您的应用程序被打包为 WAR)就足够了。应用程序代码应该与环境无关,并且应该从外部资源(例如数据库、配置文件或 JNDI)读取其特定于环境的配置。

    如果您的应用程序代码与环境无关,那么您只需将 WAR 文件部署到每个环境(同一个 WAR 文件),加上特定于环境的外部工件集(例如配置文件) )。

    【讨论】:

    • 创建战争并在不同的环境中部署不是问题。
    • 好的,这并没有提供更多关于您要解决的挑战是什么的信息。你能详细说明一下吗?
    • 考虑一下,现在我们已经开发了一个模块,并且我们已经将它部署在了 pre-UAT 环境中。测试人员可能需要一周或 n 天的时间来测试模块。因此,到那时我们将开始开发新模块并在代码中进行一些增强。 preUAT 测试器向我们报告了一些错误。由于我们已经开始在新屏幕上进行开发,我们希望拥有我们为 pre-UAT 发送的特定版本。因此,我们复制了我们发送给 pre-UAT 的项目。所以我们将修复测试人员发现的问题并重新部署。所以在这种情况下,新开发不会与早期版本混合。
    • 换句话说,您正在寻找有关源代码控制管理和分支的策略。您使用的是哪个源代码控制管理器 (SCM)?
    • 在最新代码库上重现和修复 preUAT 错误。另一种方法:在版本控制中为每个发布的工件创建标签,然后开发人员可以返回到该标签,从中创建新分支,提交错误修复,然后将错误修复合并或挑选到主干(主分支)中。
    猜你喜欢
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    相关资源
    最近更新 更多