Linux-CentOs7-svn安装及钩子配置

rockman 工具 2019-04-30

做个svn的教程

首先进入test目录下,新建一个svn目录,准备做svn测试


cd /test
mkdir svn
cd svn


Linux-CentOs7-svn安装及钩子配置
然后使用yum安装svn,这里就不使用编译安装了,这玩意只要能用就行,版本无所谓


rpm -qa subversion 查看是否已安装svn
yum install subversion 安装svn


Linux-CentOs7-svn安装及钩子配置
Linux-CentOs7-svn安装及钩子配置
2、安装完成后,创建svn版本库,就在我们新建的svn下面

svnadmin create /test/svn

创建好了使用 ll 命令查看文件
Linux-CentOs7-svn安装及钩子配置
然后进入conf目录,进行文件配置
cd conf

Linux-CentOs7-svn安装及钩子配置
首先配置账号密码文件
vi passwd
user=111111 前面的是用户名,后面的是密码
Linux-CentOs7-svn安装及钩子配置
然后配置权限
vi authz
在文件里输入下图中的内容
Linux-CentOs7-svn安装及钩子配置
然后在编辑配置文件,在下图中的位置加入下列内容,他原来的文件是有下面内容的,都是注释的,你也可以去掉注释直接改内容

anon-access = none 不允许匿名用户

auth-access = write 授权用户可写

password-db = passwd 用户文件是哪个

authz-db = authz 鉴权文件是哪个

realm = /test/svn 你设置的项目目录


Linux-CentOs7-svn安装及钩子配置
3、配置钩子文件,用于将上传的文件更新到网站目录


cd /test/svn/hooks
cp post-commit.tmpl post-commit
vi post-commit

Linux-CentOs7-svn安装及钩子配置
将下列代码插入到文件中

export LANG=en_US.UTF-8

SVN_PATH=/usr/bin

WEB_PATH=/usr/local/nginx/html 这里是设置的网站目录,我们以之前安装的nginx下的默认根目录

SVN_USER=user 设置的svn用户名

SVN_PASS=111111 密码

LOG_PATH=/tmp/svn.log

echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH

echo `whoami`,$REPOS,$REV >> $LOG_PATH

$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH

记得将最后一行mailer…… 注释掉,删掉也行,没鸟用
Linux-CentOs7-svn安装及钩子配置
保存完毕后,给文件加上可执行权限
chmod a+x post-commit
Linux-CentOs7-svn安装及钩子配置
4、开启svn的3690端口
Linux-CentOs7-svn安装及钩子配置
5、开启svn服务
svnserve -d -r /test/svn
Linux-CentOs7-svn安装及钩子配置

6、然后我们进入网站目录,先用账号检出下,按图示操作

cd /usr/local/nginx/html

svn checkout svn://192.168.0.253 

先输入root密码, 在输入svn账户 , 在输入svn密码, yes 保存密码 
Linux-CentOs7-svn安装及钩子配置
7、ok,linux系统上配置好了,我们来本地试验下。
本地安装svn就不多介绍了,自己去官网下载即可,然后按图示操作
Linux-CentOs7-svn安装及钩子配置
Linux-CentOs7-svn安装及钩子配置Linux-CentOs7-svn安装及钩子配置Linux-CentOs7-svn安装及钩子配置Linux-CentOs7-svn安装及钩子配置Linux-CentOs7-svn安装及钩子配置Linux-CentOs7-svn安装及钩子配置

提交成功后,我们在看看linux下的目录,他会自动将文件更新到网站目录下。
Linux-CentOs7-svn安装及钩子配置
8、备注
我这里操作的目录是 /test/svn 目录,但是一个服务器上可能不止一个网站,就要建立多个仓库,可以在test目录下简历 svn0、svn1 ……等多个目录。然后启动的时候用
svnserve -d -r /test 即可,这里要启动test下的多个仓库。
检出的时候ip后面要加目录名 svn://ip/svn0 等。

至此完毕。

评论

技术博客发布平台

只服务于

前后端、移动端、测试人员

写博客