1. yum安装subversion
yum install subversion
2. 创建版本库
mkdir -p /usr/local/devtool/svnData
版本库目录下会生成一些文件,进入conf目录下。conf目录中authz文件是权限控制文件,passwd是帐号密码文件,svnserve.conf是SVN服务配置文件
3. 修改配置文件
修改passwd文件,加入用户,格式就是“用户名=密码”,如: zhangsan=zhangsan
修改authz文件,加入用户权限,这就表示zhangsan用户对版本库根目录有读写权限(即最高权限了),权限配置方式在authz文件注释中有详细说明
修改svn权限vim svnserve.conf
anon-access = none #不允许匿名用户访问
auth-access = write #通过验证的用户可以读和写
password-db = passwd #用户与密码对应的数据保存在passwd文件中
authz-db = authz #权限的信息保存在文件authz中
4. 配置用户名和权限
修改authz文件,配置用户:
vi authz:
[/]
# Xi'An Technical Team:
chenxx = rw
duanxx = rw
yanxx = rw
zhangxx = rw
liuxx = rw
# Shanghai Technical Team:
wangxx = rw
wangxx = rw
lingxx = rw
yinxx = rw
修改passwd文件,配置用户名密码
vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
# Xi'An:
chenxx = cxx123456
duanxx = dxx123456
liuxx = lxx123456
zhangxx = zxx123456
yanxx = yxx123456
# ShangHai:
wangxx = wxx123456
wangxx = wxx123456
lingxx =lxx123456
yinxx = yxx123456
5. 启动svn版本库后即可访问svn://ip 即可
svnserve -d -r /usr/local/centxxxx
6. 关闭svn服务的方式是杀掉进程,kill pid或者pkill svnserve
ps -ef | grep svn
kill -9 xxxxx
7. SVN check out功能
svn checkout使用示例:
先创建一个目录,例如:mkdir test
检出到test目录下
svn checkout svn://192.168.231.1/SVNHome ./test
注意:这里最好把代码checkout到本地的APACHE网站目录;
8. 建立钩子脚本,svn更新会自动更新代码到本地
在/usr/local/centxxxx/hooks 目录下创建 post-commit,内容如下:
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
echo "Code Deployed at `date "+%Y-%m-%d %H:%M"`" >> /usr/local/centxxxx/hooks/deploy_log
/usr/bin/svn update /var/www/html/
注意:
(1)文件名精确的:post-commit,不能有后缀;
(2)如果不成功,chmod +x一下;
(3)Windows版本:后缀名为.bat;
网友评论