下载svn
yum -y install subversion
创建版本库目录 //一开始在这里的理解上出了问题,一直以为这个是服务器端的目录,其实不然
mkdir /var/svn
启动svn
svnserve -d -r /var/svn
如果提示已经启用,先ps -A查看svn的pid,然后
kill pid的值
再执行一次启动命令创建版本库
svnadmin create /var/svn/kaoqin
配置版本库
- 先配置密码
cd /var/svn/kaoqin/conf
`vim passwd
- 先配置密码
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
test = testpasswd
- 再配置权限
vim authz
在最末尾加上
[/]
* = rw
- 再配置svn
vim svnserve.conf
把以下几个注释打开,注意前面不能留有空格
anon-access = none #没有登录的用户不能访问
auth-access = write #登录的用户可以写入
password-db = passwd #密码文件为当前目录下的passwd
authz-db = authz #验证文件为当前目录下的authz
在Apache目录下checkout这个项目,并设置自动更新
先cd /var/www
,之后checkout一下
·svn co svn://******/kaoqin
这样就可以checkout下来又不包含原目录名。接着可以测试一下是否能正常访问,可以在windows下面checkout 然后commit代码进行测试。这里可能还有一个问题,因为Apache的默认访问地址是/var/www/html,所以要改下配置
vi /etc/httpd/conf/httpd.conf
找到 DocumentRoot “/var/www/html”,把这个目录改成”/var/www/”
之后别忘了把/var/www/这个目录的权限改下
chmod -R 755 /var/www/
然后重启下Apache,
service httpd restart
做完这些就剩下设置自动更新了。
cd /var/svn/kaoqin/hooks
mv post-commit.tmpl post-commit
然后vim post-commit
#!/bin/sh
#
#
#
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件
WEB=/var/www/html/test #要更新的目录
$SVN update $WEB --username xxx --password xxx (此版本是linux下,windows下是.bat,写法少有不同)
然后记得让post-commit有执行的权限 chmod 777 post-commit
之后自行测试下。应该是没问题了的。