- 安装SVN
yum install -y subversion
- 检查是否安装成功
svnserve --version
- 创建版本库
我们先创建/var/svn这么目录
mkdir /var/svn
cd /var/svn
创建版本库
svnadmin create /var/svn/project
后边的project就是我们项目的版本库
cd project
ls
会看到自动生成的版本库文件如下
conf db format hooks locks README.txt
二、创建用户组及用户:
1、 进入版本库中的配置目录conf,此目录有三个文件: svn服务综合配置文件(svnserve.conf)、 用户名口令文件(passwd)、权限配置文件(authz)。
cd conf
2、修改权限配置文件:vim authz
3、配置用户名命令文件:vim passwd
4、配置SVN服务综合配置文件vim svnserve.conf
//找到以下配置项,将前面的#号去掉,然后做相应的配置
anon-access = none //匿名用户访问权限:无
auth-access = write //普通用户访问权限:读、写
password-db = passwd //密码文件
authz-db = authz //权限配置文件
realm = /var/svn/project //版本库所在
注意:所有以上的配置项都需要顶格,即前面不能预留空格,否则报错
5、启动svn服务:
svnserve -d -r /var/svn
如果提示:
svnserve: E000098: Can’t bind server socket: Address already in use
证明现在svn已经被启动了,由于我们修改了配置文件,因此要重启svn服务
ps –ef | grep svn 找到SVN的PID
kill -9 (SVNPID)
启动SVN
svnserve -d -r /var/svn
6.添加钩子
进入/var/svn/project/hooks
vi post-commit 然后添加以下代码
#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn //这里不用改
WEB_PATH=/home/www //web目录,如果你的不同,可以改
//这里的用户随便一个就好
$SVN_PATH update $WEB_PATH --username 'lsgoweb1' --password 'lsgoweb1' --no-auth-cache
wq保存退出
修改post-commit 权限 添加可执行权限
chmod 755 post-commit
SVN默认的端口是3690
如果你有防火墙 就开放一下这个端口
下面是CentOs7开放防火墙方法
firewall-cmd --zone=public --add-port=3690/tcp --permanent
重载
firewall-cmd --reload