SVN服務器搭建
安裝服務
1
|
yum install subversion |
配置服務
1
|
mkdir -p /data/wwwsvn/myrepo #創建svn倉庫的目錄 |
這里可以自定義創建的目錄,注意不是網站的文件目錄。
1
|
svnadmin create /data/wwwsvn/myrepo #與上面的目錄相同。 |
這里要注意該目錄不能是空目錄。 成功以后會得到以下文件
1
2
|
# ls conf db format hooks locks README.txt |
進入conf修改配置文件
vi passwd
添加在末尾
1
2
3
4
|
[ users ] # harry = harryssecret # sally = sallyssecret youname = yourpassword #你的用戶和密碼 |
vi authz
添加在末尾
1
2
3
|
... [/] yourname = rw |
vi svnserve.conf
關閉注釋以及修改變量
1
2
3
4
5
|
anon-access = read #匿名用戶可讀 auth-access = write #授權用戶可寫 password-db = passwd #使用哪個文件作為賬號文件 authz-db = authz #使用哪個文件作為權限文件 realm = /data/wwwsvn/myrepo # 認證空間名,版本庫所在目錄,和之前的一樣 |
開啟和關閉服務
1
2
3
|
svnserve -d -r /data/wwwroot/myrepo #開啟 killall svnserve #關閉 ps aux | grep svnserve #查看是否運行 |
打開端口
這一步很重要,如果你都配置完了卻發現連接不上,那一定是端口沒有打開,默認端口是3690.
1
2
|
iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT #開放端口 service iptables save #保存 iptables 規則(如不能保存請使用其他方法保存) |
客戶端連接
Windows
使用TortoiseSVN,url填寫svn://你的服務器ip,賬號密碼填剛剛設置的。
Mac
使用CornerStone,url填寫svn://你的服務器ip,賬號密碼填剛剛設置的。
自動部署
每一次commit提交代碼之后都會執行鉤子post-commit,根據這個原理可以修改post-commit,讓服務器上的web目錄在每次有人commit之后自動update。
1
2
3
|
cd /data/wwwsvn/myrepo/hooks #你的版本倉庫目錄 cp post-commit.tmpl post-commit vi post-commit |
內容如下
1
2
3
|
export LANG=zh_CN.UTF-8 #必須要這行 echo "hello world" >> /tmp/svn .log #用來測試鉤子是否有執行,調試使用,如果正常就不需要這行了 /usr/bin/svn update /data/wwwroot/yourWebDir --username autoweb --password autoweb --no-auth-cache #也可以用其他方法,總之要保證web目錄能正常update |
鉤子文件里的其他都可以不要了,可以都把他們注釋掉。
能這么使用的前提是你的yourWebDir已經checkout過了
1
2
3
|
cd /data/wwwroot/yourWebDir svn checkout svn: // 你的服務器ip ... #根據提示完成checkout |
至此全部搞定,每一次commit到服務器會自動更服務器之家站內容了。
這也是上次服務器數據丟失之后第一次記錄了。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。