Jenkins自动化部署javaweb项目时,切换配置文件中的数据库连接配置文件

一、需求场景

  在验证通过Jenkins实现自动化部署的过程中,遇见了一个问题:从Git开发分支合并到测试分支的代码中,数据库连接配置还是使用的开发环境数据库,但是如果通过自动化部署,实现从测试分支直接自动化部署测试环境时,需要切换数据库连接配置。

二、思路

  在《Jenkins+maven+Git实现源码的部署和发布》中,我们实现了一个简单通过代码块拉取代码,然后构建,最后发布到指定服务器上的Tomcat的过程,这里我们不讨论这个过程是不是最佳实践,单纯的就是尝试通过Jenkins实现自动化部署的过程。在实际验证过程中,出现了上述提到的需求场景,就是需要修改数据库连接配置文件。Jenkins本来就是一个把发布过程中,相关操作集成到一起的平台,我们是不是可以考虑在拉取代码后,构建项目前,把数据库配置替换成测试环境的配置呢(基于这种配置一般不会发生变化)?下面我们开始进行验证该设想。

三、验证过程
1、备份一个测试环境需要的数据库配置文件

  我们在D:\test目录下,存储了一个application.yml配置文件,这个文件就是测试环境需要的配置文件(实际上,可以考虑把数据库配置文件单独出来一个jdbc配置文件)。

2、在构建项目,增加替换文件配置

  为了实现该操作,就在进行构建项目前,增加一个步骤“Execute Windows batch command”,然后在这个步骤中,增加复制文件的命令:

copy /Y d:\test\application.yml C:\Users\Administrator\.jenkins\workspace\test\src\main\resources

  copy命令就是复制文件到指定目录的操作,其中/Y表示如果存在同名文件直接覆盖,d:\test\application.yml是需要复制的文件,C:\Users\Administrator.jenkins\workspace\test\src\main\resources是需要复制到的文件目录。该命令需要根据实际的操作系统、和备份配置文件的目录进行,因为这次验证是在windows环境下进行,所以使用的是windows环境的命令。

具体配置如下图所示:
在这里插入图片描述

3、验证结果

  配置好上述命令后,就可以重新点击“build now”按钮,进行项目的重新部署,这个时候就可以到项目发布到的服务器下去验证配置文件是否已经修改。也可以等待部署结果,如果原有的配置不能连上数据库,这个时候,部署日志里面会提示部署失败。会出现如下报错(该报错还可能是系统其他原因导致):

Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: FAIL - Deployed application at context path /jeesite-icity but context failed to start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姠惢荇者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值