天天看點

SVN在另類環境中實作自動送出的方法

環境:

SVN SERVER  172.16.1.100            (CentOS 5.5 X64)

WEB SERVER  172.16.1.111            (CentOS 5.5 X64)

client      10.0.1.50               (Windows XP 若幹個)

實作目的:

實作方式:

首先在現有的SVN SERVER上  建立目錄 ,在WEB 上把WEB目錄配置成NFS 目錄 ,挂載WEB目錄 到建立目錄上,檢出 版本庫 添加hooks腳本,讓其達到 程式員送出檔案,自動觸發更新。

步驟:

1、在WEB SERVER上

vi /etc/exports

/elain/data/htdocs/www  172.16.1.0/24(rw,sync,no_root_squash)

/etc/init.d/portmap start

#加入自啟動

chkconfig portmap on

2、在SVN SERVER上

mkdir -p /data/wwwroot

[root@Svn elain#]showmount -e 172.16.1.111

Export list for 172.16.1.111:

/elain/data/htdocs/www 172.16.1.0/24

vi /etc/rc.local

mount -t nfs 172.16.1.111:/elain/data/htdocs/www /data/wwwroot

#SVN 檢出

svn co svn://172.16.1.100/trunk/www /data/wwwroot

chown -R www.www /data/wwwroot

cd /elan/svndata/trunk/hooks

cp post-commit.tmpl post-commit

vi  post-commit

添加以下一行

svn up /tuibo/wwwroot

注:post-commit原有内容是送出發郵件的機制,需要的可以配置一下,不需要的可以全部注釋。

測試:

在client機上 更改一個檔案 ,送出。 我們隻需在 WEB SERVER上檢視相應的檔案 是否自動更新成功。

以上方法隻是我在内網測試環境上做的,重要的是給大家一個思路,此方法SVN 送出時可能會有十秒左右延遲。

歡迎大家提出更好的思路,我想到的還有兩種思路:

1、用hook腳本 SSH 遠端執行 svn up更新,

大家不妨試試……

轉載請注明: 轉載自http://www.elain.org

本文轉自 elain2012 51CTO部落格,原文連結:http://blog.51cto.com/elain/623303

繼續閱讀