spring - JAVA-WEB在正式环境中发布程序的正确步骤是什么?

查看:222
本文介绍了spring - JAVA-WEB在正式环境中发布程序的正确步骤是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

目前的做法是
1、使用Jenkins拉取在gitlab中master的最新代码
2、Jenkins会在测试完成并且成功后将项目打包成war并部署

那么问题是:
1、在项目中的配置文件如队列地址,数据库地址用户名密码,这些信息目前直接push到了master上,直觉告诉我这肯定是不对的,那么发布的时候怎么保证他能一起打包进去?
2、如果不是用的打包的方法,对配置文件的分发有什么工具?
3、我们知道当一个web项目丢到了tomcat,他自动去进行部署,如果先把代码编译成.class文件包丢进去再分发配置文件,岂不是一定会先部署失败?
4、如果以上的假设都是不对的,那么现在一般是怎么管理的?

受够了重复打包上传的工作所以部署了Jenkins,那么我想对配置文件的管理必然也有便捷的方式,遂来请各位指点迷津。

解决方案

如果楼主使用的是 maven 来进行依赖管理,可以使用 profile 来配置,在build期使用不同的配置。

1、pom.xml中添加如下配置:

<profiles>
        <profile>
            <id>local</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <prop.dir.name>local</prop.dir.name>
            </properties>
        </profile>
        <profile>
            <id>online</id>
            <properties>
                <prop.dir.name>online</prop.dir.name>
            </properties>
        </profile>
        
        <profile>
            <id>test</id>
            <properties>
                <prop.dir.name>test</prop.dir.name>
            </properties>
        </profile>
    </profiles>

上述配置,共配置了三个不同的环境,local、online以及test,并且默认使用的是local。

2、配置文件引入方式:

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>profile/${prop.dir.name}/*</include>
        </includes>
    </resource>

</resources>

配置文件在 profile 目录下,目录结构:

profile
├── local
├── online
└── test

3、war 打包方式

mvn -U clean install -Ponline

上述命令将打包online下的配置文件,可以替换 -P 后的参数来打包不同目录下的配置文件。

这篇关于spring - JAVA-WEB在正式环境中发布程序的正确步骤是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆