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


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

svn自動部署的實現:

使用svn的hook功能

1、在版本庫的hooks目錄下面,有一些基於事件觸發的執行腳本,比如post-commit, 去掉后綴.tmpl 
2、編輯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

3、 在客戶端測試,並且要在comment中加入 auto_deploy,否則不會觸發自動部署的操作

 

參考:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM