在Java开发项目时常常要把正在开发的项目发布到测试服务器中去测试,通常的话是要把项目先打成war包,而后把war包发布到服务器中,关闭服务器, 最后从新启动服务器,虽然这过程不是很繁琐,但若是是多个工程都要发布的时候,发布的过程就会比较繁琐,因此福音来了……java
经过 编写shell 脚原本完成这些操做,只要执行一个shell脚本,项目就能够自动发布到服务器了,用起来仍是比较方便的。linux
第一步:在linux中安装svn。(这个能够参照另一篇博客:http://simplelife.blog.51cto.com/9954761/1729931 ),具体到这篇博客,安装svn是为了但是使用svn中的一些命令。shell
第二步:在linux安装maven。(参照:http://simplelife.blog.51cto.com/9954761/1743977 )vim
第三步:在linux中的任意一个目录下,最好本身新建一个目录,如ucenter目录tomcat
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中的代码就已经检出到服务器中了……maven
在当前目录下执行:svn up svn
能够更新svn中最新的代码,返回svn的版本测试
进入ssm-parent目录中,执行命令(maven的命令):mvn -U clean installspa
进入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
|
到此项目时时发布就能够实现了。