背景:開發將其程式碼放到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";