欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux搭建SVN服务器及服务端代码自动更新

程序员文章站 2022-06-11 10:07:09
...

系统版本:CentOS6.8

流水线安装如下:

>>yum -y install subversion #安装svn

>>rpm -ql subversion #查看安装位置

>>svnversion --version #查看版本

>>mkdir /web/ #创建版本库目录

>>svnadmin create /web/mysvn #创建版本库名称

配置SVN:

>>cd /web/mysvn/conf #进入配置目录

添加账号

>>vi passwd #【账号 = 密码】 格式;EG: mysvn = mysvn123

赋予账号权限

>>vi authz #【[/] mysvn=rw】赋予mysvn 读[r]写[w]权限

修改核心配置文件

>>vi svnserve.conf #去掉下面配置的#号并且去掉空格 否则会出错

anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
realm = /web/mysvn # 认证空间名,版本库所在目录
启动SVN:

>> svnserve -d -r /web   #目录指向web 而不是web/mysvn 切记

停止SVN:

>> ps -ef|grep svnserve #查看进程

>>kill -9 XX #XX为进程ID 终止进程


客户端使用:

SVN选择checkout输入如下地址:svn://IP:3690/mysvn   即可 3690一般为默认端口可不输入


服务端在SVN仓库有变动时自动更新代码:

#!/bin/sh
REPOS="$1"
REV="$2"
export LC_ALL="zh_CN.UTF-8"
export LANG="en_US.UTF-8"

SVN_PATH=/usr/bin                          #svn安装路径
WEB_PATH=/web/ccb             #web项目所在
SVN_USER=admin                           #svn用户名
SVN_PASS=admins                          #svn密码
LOG_PATH=/tmp/svn.log
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
exit 0

以上代码借鉴网上,亲测可用