背景:开发将其代码放到svn里面,如何将修改后存放到svn里的代码发布到线上?
简单做法:写个shell脚本,用于代码发版。比如开发的代码存放svn的路径是:svn://112.168.19.120/huanqiu_app
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
首先在发布机上创建一个发版目录
[root@huanqiu ~]
# mkdir -p /Data/webroot_svncode/Online_app
然后将svn里的代码下载到发布机本地的发版目录里
[root@huanqiu ~]
# cd /Data/webroot_svncode/Online_app
[root@huanqiu Online_app]
# svn checkout svn://112.168.19.120/huanqiu_app //svn checkout一般都是目录
[root@huanqiu Online_app]
# ls
huanqiu_app
[root@huanqiu Online_app]
# cd huanqiu_app
[root@huanqiu huanqiu_app]
# ll
huanqiu.war
//
这个就是开发放在svn仓库里的war包
这样后面要想再将svn里最新修改的代码拿到发布机本地,只需要切换到发版目录下的svn目录里进行更新命令即可!
[root@huanqiu Online_app]
# cd huanqiu_app //一定要切换到svn对应代码目录下进行更新命令
[root@huanqiu huanqiu_app]
# /usr/bin/svn update
At revision 20.
[root@huanqiu huanqiu_app]
# ll //下面就是更新后的最新代码包
huanqiu.war
下面附上一个简单的发版脚本:
将代码发布到远程线上服务器上(脚本中的22022是远程服务器的
ssh
端口);即将最新代码版本发布到线上后,重启线上的tomcat服务:
[root@huanqiu huanqiu_app]
# cat /Data/webroot_svncode/up_Online.sh
#!/bin/bash
REMOTE_SERVER_IP=
"112.168.19.75"
DEST_DIR=
"/Data/app/tomcat-7/webapps/"
cd
/Data/webroot_svncode/Online_app/huanqiu_app
/usr/bin/svn
update
/usr/bin/ssh
-p22022 root@${REMOTE_SERVER_IP}
"rm -rf /Data/app/tomcat-7/webapps/huanqiu*"
;
/usr/bin/rsync
-e
"/usr/bin/ssh -p22022"
-avpgolr
/Data/webroot_svncode/Online_app/huanqiu_app/huanqiu
.war root@${REMOTE_SERVER_IP}:${DEST_DIR};
sleep
10
/usr/bin/ssh
-p22022 root@${REMOTE_SERVER_IP}
"/bin/sh /Data/app/tomcat-7/start.sh"
;
|
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
分类:
版本控制系统
本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/5872727.html
,如需转载请自行联系原作者