Java 软件部署过程
我正在研究Java/SpringWeb应用程序,对软件构建过程有一个问题,特别是关于stage和prod环境 现在,在当前的项目中,我们有一个以下过程——我们将Git-dev代码分支合并到stage,然后使用Maven和Jenkins构建和部署项目到stage环境。一旦stage得到验证,我们就将stage合并到mastergit分支,并再次使用Maven和Jenkins构建和部署项目 这是一个正确的过程吗?我们是否需要为stage和prod环境构建单独的war文件(就像我们目前所做的那样),或者我们是否需要构建单个war文件,将其部署到stage env并提供阶段参数,测试和验证它,然后将相同的war文件部署到prod环境,但使用prod参数Java 软件部署过程,java,spring,maven,jenkins,deployment,Java,Spring,Maven,Jenkins,Deployment,我正在研究Java/SpringWeb应用程序,对软件构建过程有一个问题,特别是关于stage和prod环境 现在,在当前的项目中,我们有一个以下过程——我们将Git-dev代码分支合并到stage,然后使用Maven和Jenkins构建和部署项目到stage环境。一旦stage得到验证,我们就将stage合并到mastergit分支,并再次使用Maven和Jenkins构建和部署项目 这是一个正确的过程吗?我们是否需要为stage和prod环境构建单独的war文件(就像我们目前所做的那样),或
在第二种方法的情况下,如何正确地参数化必须在Tomcat上运行的单个应用程序,并为stage和prod使用不同的参数?此外,我们正在使用Maven过滤功能。。在这种情况下,如何处理它?将版本从登台升级到生产时,通常需要将完全相同的二进制版本部署到生产中,以确保在登台上测试的版本在生产中表现相同 当您为生产创建一个新的构建时,您不能保证它的行为与您为登台创建的构建相同。据您所知,构建服务器上的Java版本或其他工具可能在这两者之间发生了变化 有多种方法可以解决配置难题。您应该首先从应用程序中剥离所有特定于环境的配置(在您的情况下是一场战争),这样您就可以在所有环境中使用相同的二进制文件。 接下来,您可以:
或
或者(我更喜欢下面的选项:)
生成结果示例:
- 战争
- config-tst.zip
- config-stg.zip
- config-prd.zip