svn 版本管理與自動部分發布

  做爲團隊開發項目時,會遇到項目的版本管理,測試部署與發佈部署,下面是摘至他人的關於版本管理和自動部署的方案。html

svn自動部署的實現:web

使用svn的hook功能apache

一、在版本庫的hooks目錄下面,有一些基於事件觸發的執行腳本,好比post-commit, 去掉後綴.tmpl 
二、編輯svn代碼庫服務器上文件: svn/test/hooks/post-commit 
服務器

 

#!/bin/sh 
REPOS="$1"
REV="$2"
export PATH="/usr/local/svn/bin:$PATH"  #因爲代碼是apache的進程用戶www運行,因此須要設置環境變量 
export LC_CTYPE=en_US.UTF-8             #防止提交的文件名存在非字母字符。   
if (svnlook log -r $REV /home/http/repository/svn/test | grep "auto_deploy" )  #當用戶提交時註釋中寫上"auto_deploy"的時候,就自動部署到apache目錄,不然不部署。 
then 
  echo "`date` 'auto depoly command received" >> /tmp/test_svnautocommit.txt   #這一行僅做調試使用 
  svn export "http://192.168.16.48/repo/svn/test/trunk/test_website"  /home/http/html/test_website  --force 
fi

三、 在客戶端測試,而且要在comment中加入 auto_deploy,不然不會觸發自動部署的操做svn

 

參考:post

[1] SVN本地開發、測試環境版本控制-自動發佈生產環境[2014-10-08].http://www.open-open.com/lib/view/open1376871583553.html測試

相關文章
相關標籤/搜索