SVN在另类环境中实现自动提交的方法
環(huán)境:
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 是版本控制中心,里面有多個版本庫,現在要實現 程序員(client)提交代碼到SVN SERVER上,WEB SERVER會自動去svn?up版本控制中心(SVN SERVER)的代碼到相應的目錄下;
實現方式:
首先在現有的SVN SERVER上? 新建目錄 ,在WEB 上把WEB目錄配置成NFS 目錄 ,掛載WEB目錄 到新建目錄上,檢出 版本庫 添加hooks腳本,讓其達到 程序員提交文件,自動觸發(fā)更新。
步驟:
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
/etc/init.c/nfs?start
#加入自啟動
chkconfig portmap on
chkconfig?nfs?on
2、在SVN SERVER上
SVN目錄 是???svn://172.16.1.100/trunk/www
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
mount -t?nfs?172.16.1.111:/elain/data/htdocs/www /data/wwwroot
#加入自啟動
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原有內容是提交發(fā)郵件的機制,需要的可以配置一下,不需要的可以全部注釋。
測試:
在client機上 更改一個文件 ,提交。 我們只需在 WEB SERVER上查看相應的文件 是否自動更新成功。
以上方法只是我在內網測試環(huán)境上做的,重要的是給大家一個思路,此方法SVN 提交時可能會有十秒左右延遲。
歡迎大家提出更好的思路,我想到的還有兩種思路:
1、用hook腳本 SSH 遠程執(zhí)行 svn up更新,
2、用hook腳本?sersync?來實時傳輸
大家不妨試試……
轉載請注明: 轉載自http://www.elain.org
本文鏈接地址:SVN在另類環(huán)境中實現自動提交的方法
本文轉自 elain2012 51CTO博客,原文鏈接:http://blog.51cto.com/elain/623303
總結
以上是生活随笔為你收集整理的SVN在另类环境中实现自动提交的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Just for fun——go实现一下
- 下一篇: Jenkins + Gitlab + A