天天看點

SVN 代碼遷出,導出,同步至生産環境腳本

 使用說明:該腳本配合crontab運作,可以實作将SVN伺服器版本庫下的tags内容定時遷出,導出,rsync至生産環境中的代碼同步伺服器(在本例中,伺服器IP為192.168.50.7,中間需要建立公鑰信任),tags的檔案夾命名規則示例為: bbs-2011-03-22,其中bbs為項目名稱。/usr/local/scripts/project_name.txt檔案為svn項目名清單,一行為一個項目名,用于腳本循環。該腳本可重複運作。

#!/bin/sh  

#function: checkout tag release and exprot,rsync to product environment  

#author: lw.yang  

#version: v-1.0  

#modify_time: 2011-03-21  

URL=http://svn.***.com  

DATE=$(date +%F)  

USERNAME=yangliangwei 

PASSWORD=123456 

IP=192.168.50.7  

   for i in $(cat /usr/local/scripts/project_name.txt);   

     do   

       cd   /svn_co  

       /usr/bin/svn co $URL/$i/tags/$i-$DATE --username=$USERNAME --password=$PASSWORD >> /var/log/svnlog/$i-$DATE.log  2>&1     

       if [ -d "/svn_co/$i-$DATE" ];then  

       /usr/bin/svn export /svn_co/$i-$DATE  /svn_rsync/$i-$DATE --force  

       /usr/bin/rsync -avH --delete --progress  /svn_rsync/$i-$DATE  root@$IP:/www  >> /var/log/svnlog/$i-$DATE.log  2>&1   

       fi  

      if [ "$?" -eq "0" ];then  

         /bin/rm -rf /svn_co/$i-$DATE  

         /bin/rm -rf /svn_rsync/$i-$DATE  

      fi   

   done  

 本文轉自斬月部落格51CTO部落格,原文連結http://blog.51cto.com/ylw6006/522511如需轉載請自行聯系原作者

ylw6006

繼續閱讀