SVN服务器搭建
1.SVN服务器搭建步骤
1.1 安装
yum install subversion
1.2 查看安装位置
rpm -ql subversion
1.3 svn在bin目录下生成了几个二进制文件,输入 svn –help可以查看svn的使用方法。
1.4 创建svn版本库目录
mkdir -p /var/svn/svnrepos
- 为了规范,一般在目录下再创建如下子目录,用来更好的进行版本管理
1
2
3mkdir -p /var/svn/svnrepos/trunk
mkdir -p /var/svn/svnrepos/tags
mkdir -p /var/svn/svnrepos/branches
1.5 创建版本库
svnadmin create /var/svn/svnrepos
- 执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
1.6 进入conf目录(该svn版本库配置文件)
- authz文件是权限控制文件
- passwd是帐号密码文件
- svnserve.conf SVN服务配置文件
1.7 设置帐号密码
vi passwd
- 在[users]块中添加用户和密码,格式:帐号=密码,如ybphp=1234
1.8 设置权限
vi authz
在末尾添加如下代码:
1 | [/] |
意思是版本库的根目录,账号ybphp对其有读写权限,w代表只有读权限。
1.9 修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
1 | anon-access = read #匿名用户可读 |
注意:解开注释时要删除#后面的空格
1.10 启动svn版本库
svnserve -d -r /var/svn/svnrepos
1.11查看SVN服务是否开启
ps -ef |grep svn
- 备注:SVN服务的默认端口为TCP 3690;如果是在阿里云上部署,需要登录ECS管理控制台,添加安全组规则放行TCP 3690端口;
1.11 在windows上测试
新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN):
填写SVN的地址,如下图:
输入密码,如下图:
2.Linux下SVN自动更新web
2.1 创建钩子文件post-commit并备份文件
1 | cd /home/svn/svnrepos/hooks |
2.2 钩子脚本
- 添加脚本内容如下:
1
2
3
4
5
6
7#!/bin/sh
export LANG=zh_CN.UTF-8
SVN_PATH=/var/svn/svnrepos
WEB_PATH=/var/www/svnrepos
LOG_PATH=/tmp/svn.log
echo whoami,$REPOS,$REV >> $LOG_PATH
$SVN_PATH update --username ybphp --password ybphp $WEB_PATH --no-auth-cache >> $LOG_PATH
2.3 让post-commit有执行的权限,并将checkout的项目相关权限和宿主改一下
1 | chown www:www post-commit |
2.4 重启svn并迁出代码
1 | ps -ef|grep svn |
3.Linux下SVN多版本库管理
3.1 创建多个版本库
1 | mkdir -p /var/svn/project1 |
修改配置文件参考上面步骤,单独配置即可,最后记得重启svn服务器!
如果想多个版本共用一个配置文件,可将配置文件authz,passwd放在svn目录下面,然后在每个项目的svnserve.conf文件里面引入即可!
原文作者: ybphp
原文链接: https://www.ybphp.com/2017/06/09/SVN服务器搭建/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)