莲花子 svn 钩子的使用。自動更新代碼到雲

1210阅读 0评论2014-10-30 initrdimg
分类:Python/Ruby

兩一個shell 程序 post-commit 為鉤子,svn_update 為监控
解決了之前的問題:

1.代碼的第一次checkout 的速度。
2.代碼提交的響應速度。
3.從svn同步的到WEB 服務器的速度

欢迎大家使用! 告别前端的卡時代
[廣告可无视]
运维技术群:35666658
web : [工作在电脑边的你,可别忘记了自己身体。学习养生,学习爱自己。爱自己就等于爱你的家人]


点击(此处)折叠或打开

  1. #!/usr/local/bin/bash
  2. #luohongjiang
  3. #qq123769752
  4. export LANG=en_US.UTF-8
  5. REPOS="$1"
  6. REV="$2"
  7. TXN_NAME="$3"
  8. public_name=${REPOS##*/}
  9. #mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
  10. ###########cmd
  11. svn="/usr/local/bin/svn"
  12. svnlook="/usr/local/bin/svnlook"
  13. rsync="/usr/local/bin/rsync"
  14. ##########svnpath
  15. svnpath=$REPOS
  16. #####################webpath
  17. srcweb="/home/tmp/$public_name"
  18. dstweb="192.168.7.36::webconfig"
  19.  
  20. ####################
  21. if [[ ! -d $srcweb ]];then
  22.     #$svn co --username admin --password BkiQ9A6I file://${REPOS} $srcweb
  23.     #$svn co file://${REPOS} $srcweb
  24.      echo "$svn co file://${REPOS} $srcweb:yes" >>/home/tmp/$public_name.log
  25. fi
  26.   
  27. for i in $($svnlook changed $svnpath|awk '{print $2}')
  28. {
  29.     #$svn update -N "${srcweb}/$i"
  30.     #python /bin/svn_update $srcweb/$i
  31.     echo " $svn update -N ${srcweb}/$i:yes" >>/home/tmp/$public_name.log
  32. }
  33.  
  34. echo "$rsync -avzP --delete --exclude='.svn' --password-file=/etc/rsyncd.secrets $srcweb $dstweb >>/var/log/svn_rsync.log:yes" >>/home/tmp/$public_name.log
  35.  
  36.  
  37. ############svn_update
  38. #luohongjiang
  39. #!/usr/bin/env bash
  40. export LANG=en_US.UTF-8
  41. exec()
  42. {
  43. dir=$( ls /home/tmp/*.log)
  44. for i in $dir
  45. {
  46. echo $i
  47. cat $i |awk -F:yes '{print $1}'|bash
  48. rm $i
  49. }
  50. }
  51.  
  52. while (( 1 ))
  53. do
  54. {
  55. exec
  56. sleep 2
  57. }
  58. done
我在另一处发表:
上一篇:linux高级技巧:集群的搭建(一)
下一篇:加强linux 系统登录