svn代码发版的脚本分享

背景:开发将其代码放到svn里面,如何将修改后存放到svn里的代码发布到线上? 简单做法:写个shell脚本,用于代码发版。比如开发的代码存放svn的路径是:svn://112.168.19.120/huanqiu_app

首先在发布机上创建一个发版目录
[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";

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

Rails存储库从SVN转向Git

在Ruby on Rails 2.1版本发布的前夕,Rails开发团队也准备将代码的存储库从Subversion迁移到Git之上。在Ruby on Rails的...

20090
来自专栏电光石火

SVN冲突

svn在提交的时候断网极容易出现org.apache.subversion.javahl.ClientException: Attempted to loc...

27090
来自专栏电光石火

给Dreamweaver插上Svn的翅膀

建立 SVN 连接  使用 Subversion (SVN) 作为 Dreamweaver 的版本控制系统之前,必须建立与 SVN 服务器的连接。与 ...

243100
来自专栏xingoo, 一个梦想做发明家的程序员

TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具:   1 客户端:TortoiseSVN (小乌龟)   2 服务端:VisualSVN Serve...

30880
来自专栏电光石火

Eclipse安装SVN插件

SVN插件下载地址及更新地址,你根据需要选择你需要的版本。现在最新是1.8.x Links for 1.8.x Release: Eclipse updat...

20970
来自专栏散尽浮华

SVN和Git对比梳理

在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢? SVN(Subversion)是集中式...

35760
来自专栏电光石火

TortoiseGit安装与配置

TortoiseGit 简称 tgit, 中文名海龟Git. 海龟git只支持神器 Windows 系统, 有一个前辈海龟SVN, TortoiseSVN和...

550100
来自专栏电光石火

IDEA的svn

安装客户端 http://ncu.dl.sourceforge.net/project/tortoisesvn/1.8.7/Application/T...

30390
来自专栏电光石火

Eclipse安装SVN插件

SVN插件下载地址及更新地址,你根据需要选择你需要的版本。现在最新是1.8.x Links for 1.8.x Release: Eclipse u...

191100
来自专栏xingoo, 一个梦想做发明家的程序员

【SVN多用户开发】代码冲突&解决办法

SVN是一款集中式的代码存储工具,可以帮助多个用户协同开发同一应用程序。 但是SVN不能完全代替人工操作,有时也需要程序员自己进行沟通确认有效的代码。 下...

24550

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励