在Java开发项目时经常要把正在开发的项目发布到测试服务器中去测试,一般的话是要把项目先打成war包,然后把war包发布到服务器中,关闭服务器, 最后重新启动服务器,虽然这过程不是很繁琐,但如果是多个工程都要发布的时候,发布的过程就会比较繁琐,所以福音来了……
通过 编写shell 脚本来完成这些操作,只要执行一个shell脚本,项目就可以自动发布到服务器了,用起来还是比较方便的。
第一步:在linux中安装svn。(这个可以参照我的另外一篇博客:http://simplelife.blog.51cto.com/9954761/1729931 ),具体到这篇博客,安装svn是为了可是使用svn中的一些命令。
第二步:在linux安装maven。(参照:http://simplelife.blog.51cto.com/9954761/1743977 )
第三步:在linux中的任意一个目录下,最好自己新建一个目录,如ucenter目录
1
2
3
4
5
|
mkdir /home/softs/ucenter
cd ucenter
svn co http:
//svnserver/mypro/trunk ./ #从指定的svn地址中检出代码到当前目录
此时需要输入一些svn的用户名和密码,输入之后确定使用就是了。
|
执行:svn co http://svnserver/mypro/trunk/ ./
此时svn中的代码就已经检出到服务器中了……
在当前目录下执行:svn up
可以更新svn中最新的代码,返回svn的版本
进入ssm-parent目录中,执行命令(maven的命令):mvn -U clean install
进入simple-ssm中执行相同的操作:
此时simple-ssm中就多了一个目录:target,这个工程的war包就在其中
此时项目war包已经生成了,接下来就可以将这个war复制到tomcat服务器中,然后重启服务器就可以了。
也就是最前面所说的,上述这些更新代码、打包,移动war包到服务器,重启服务器的操作都可以用一个简单的shell脚本来执行。
++++++++++++++++++++++++++++编写发布要执行的shell脚本++++++++++++++++++++++++++++++++
在ucenter目录中(随便哪个目录,以这个目录为例)
新建ssm-parent.sh文件:
1
2
|
touch ssm-parent.sh
vim ssm-parent.sh
|
编写:
保存后退出。
给文件赋予权限
1
|
chmod
755
ssm-parent.sh
|
执行:
1
|
./ssm-parent.sh
|
新建simple-ssm.sh文件:
touch simple-ssm.sh
vim simple-ssm.sh
编写:
保存后退出。
给文件赋予权限
1
|
chmod
755
simple-ssm.sh
|
执行:
1
|
./simple-ssm.sh
|
这样就将simple-ssm工程发布完成了。
以后每次只要将代码写完之后,提交到svn中,在服务器中就可以先后执行这两个shell脚本(当然还可以有别的工程的shell脚本),就可以轻松的发布项目了,是不是很便捷!
执行:
1
2
|
./ssm-parent.sh
./simple-ssm.sh
|
到此项目时时发布就可以实现了。