因爲項目測試需求,須要遠程服務器上使用svn作版本控制.html
需求:web
1,項目test1,項目test2,各自獨立版本庫,各自獨立用戶權限,便於項目管理windows
2,同步提交,本地svn提交至版本庫後,服務器上的web根目錄上的項目同步更新。達到本地update,瀏覽器訪問實時生效瀏覽器
步驟:bash
1,安裝svn 過程略去服務器
2,配置項目svn
一,建立版本庫post
建立多個項目的版本庫測試
工做目錄url
/var/www/
項目1:svnadmin create /var/www/svn/test1
項目2:svnadmin create /var/www/svn/test2
二,修改項目配置
===============================
cd /var/www/svn/test1
目錄權限
vi conf/authz
[/]
*=rw
帳號密碼
vi conf/passwd
user1=123456
主配置
vi conf/svnserve.conf
若是還報127,記得把最下面這句註釋或刪掉
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
svnserve -d -r /var/www/svn/test1
svnserve -d -r /var/www/svn/test2
正確的是
svnserve -d -r /var/www/svn/
ps -ef|grep svnserve //查看進程是否正常
若是已經有其餘進程用命令殺掉kill pid
上面是項目test1的配置,項目test2的配置也和上面大致一致,不在贅述。
4,導入項目
mkdir /var/www/test1
touch test1.txt
midir /var/www/test2
touch test2.txt
svn import /var/www/test1 file:///var/www/svn/test1 -m "導入項目1"
svn import /var/www/test2 file:///var/www/svn/test2 -m "導入項目2"
5,checkout檢出
測試一下。把/var/www/test1 和/var/www/test2 刪掉
cd /var/www
svn checkout svn://IP/test1
svn checkout svn://IP/test2
看test1,和test2目錄果真下載下來了。
而後我到個人windows本地上也checkout一下,地址一樣是上面的兩個
輸入帳號密碼,也成功下載了文件
咱們在test1,test2其中添加提交b.txt,c.txt,
而後到服務器上看/var/www/test1,和 test2中果真已經實時更新出現了。
個人http://test1.aaa.com 和http://test2.aaa.com
分別對應的是/var/www/test1和/var/www/test2
清楚了web的目錄指向後,看到的效果天然也就是所謂的實時更新了。
#每分鐘更新,並記錄日誌
#*/1 * * * * /root/svn_update.sh >> /tmp/log/svn_update.log
#每5分鐘更新,不記錄日誌。
*/5 * * * * /root/svn_update.sh
vi svn_update.sh
#!/bin/bash
cd /var/www/test1 && /usr/bin/svn up
cd /var/www/test2 && /usr/bin/svn up
參考:http://blog.csdn.net/honeyjimmy/article/details/24431713
常見錯誤:http://www.2cto.com/os/201407/322026.html