因为项目测试需求,须要远程服务器上使用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