背景:开发者将他的代码放入svn中。如何将svn中存储的修改代码发布到网上?
简单方法:编写shell脚本进行代码分发。例如开发的代码在svn中存放的路径为:svn://112.168.19.120/kevin_app
首先在发布机上创建发布目录 [root@kevin ~]# mkdir -p /Data/webroot_svncode/Online_app 然后将svn中的代码下载到发布机本地release目录 [root@kevin ~]# cd /Data/webroot_svncode/Online_app [root@kevin Online_app]# svn checkout svn://112.168.19.120/kevin_app //svn checkout 一般是一个目录 [root@kevin Online_app]# ls kevin应用程序 [root@kevin Online_app]# cd pututin_app [root@kevin kevin_app]# ll kevin.war //这个是开发出来的war包,放在svn仓库里。 这样以后如果想把svn中最新修改的代码拿到发布机上,只需要切换到发布目录下的svn目录,执行update命令即可! [root@kevin Online_app]# cd kevin_app //一定要切换到svn对应的代码目录下更新命令 [root@kevin kevin_app]# /usr/bin/svn update 修订版 20。 [root@kevin kevin_app]# ll //以下是最新更新的代码包 kevin战争 下面附上一个简单的发布脚本: 将代码发布到远程在线服务器(脚本中的22022是远程服务器的ssh端口);在线发布最新代码版本后,重启在线tomcat服务: [root@kevin kevin_app]# cat /Data/webroot_svncode/up_www.sychzs.cn #!/bin/bash REMOTE_SERVER_IP="112.168.19.75" DEST_DIR="/Data/app/tomcat-7/webapps/"cd /Data/webroot_svncode/Online_app/kevin_app /usr/bin/svn 更新 /usr/bin/ssh -p22022 root@${REMOTE_SERVER_IP} "rm -rf /Data/app/tomcat-7/webapps/kevin*"; /usr/bin/rsync -e "/usr/bin/ssh -p22022" -avpgolr /Data/webroot_svncode/Online_app/kevin_app/kevin.war root@${REMOTE_SERVER_IP}:${DEST_DIR}; 睡10 /usr/bin/ssh -p22022 root@${REMOTE_SERVER_IP} "/bin/sh /Data/app/tomcat-7/www.sychzs.cn";