关于自动化部署已经说了很多,也有很多专业的工具。本文不敢高攀那些高大上的方案,只是从自身实际出发,主要使用svn这个版本管理的工具,方便了发布和部署。
一. 原因
做为一个中小团队,发布和部署是家常便饭,而且容易出问题,我们一般采用的方法有如下两种:
- 直接更换war包
- 替换相应的jar包
前者在有时候频繁部署的时候很慢(因为war包比较大,至少都有几十M,每次都需要几分钟);而后者先要找到更新的jar包,再找到生产环境上的相应位置,然后再一一替换,步骤繁琐而且容易出错。而且两者有同样的问题,就是出现bug时,无法确认生产环境究竟部署的是哪一版本。
二. 解决办法
为了解决这一问题,我使用svn这个版本管理工具,简单的说,就是把需要部署的所有文件都放置到svn服务器上,当需要重新发布的时候,在生产环境上使用svn更新到当前版本。
为完成这一工作,我写了如下3个脚本:
- compile_produce.sh 编译生产版本
- check_produce.sh 生产环境上首次部署
- update_produce.sh 生产环境上更新部署
脚本分别如下:
1. compile_produce.sh
#!/bin/bash -e
cd path
svn update --username=deploy
mvn clean install -P produce
echo "[produce environment]------------------------------

本文主要介绍了一个中小团队如何使用svn解决发布和部署Java Web项目的问题。传统方法如直接更换war包或替换jar包存在效率低和易出错的缺点。通过将所有部署文件放入svn服务器,利用svn更新实现快速、有序的自动化部署,同时确保生产环境版本清晰,减少了错误发生的可能性。
最低0.47元/天 解锁文章
3112

被折叠的 条评论
为什么被折叠?



