服务安装
yum install -y svn
svnserve --version
svnadmin create /data/svn/repositories创建新仓库后,会自动在仓库目录生成conf db hooks locks四个目录,以下是conf目录下的配置文件介绍
cd /data/svn/repositories/conf/
ls
authz #权限控制文件
passwd #用户,密码配置文件
svnserve.conf #服务配置文件vi authz
[/] #目录名称,如果是/ 表示该仓库的所有目录的权限
ituser = rw #用户 = 权限 r 读, w 写,一行一个
[/object] #目录名称
test = r
[/project]
admin = rw
test = rvi passwd
ituser = passwrod #用户名 = 密码,一行一个
test = passwrod
admin = passwrodvi svnserve.conf
[general]
anon-access = none #匿名访问的权限,可以是read,write,none,默认为read
auth-access = write #认证用户可写
password-db = passwd #用户认证密码文件路径,即当前目录下的passwd文件
authz-db = authz #用户权限文件,当前目录下的authz文件自动发布,主要是利用hooks目录下的post-commit文件。自动发布操作,示例
cd /data/svn/repositories/hooks
cp post-commit.tmpl post-commit
vi post-commit
export LANG=en_US.UTF-8
SVN_PATH=/usr/bin/svn
BS_PATH=/var/www/html/bs/business
$SVN_PATH update $BS_PATH --username 'user' --password '123456'
chown -R nobody:nobody $BS_PATH
chmod -R 775 $BS_PATH/public $BS_PATH/storage推送到远程WEB目录,ssh需要提前设置好登录密钥,如果需要执行脚本,post-commit文件需要有执行权限
ssh -l root www.baidu.com -p 1122 "sh /var/www/html/bs/update.sh"
vi updata.sh
svn update /var/www/html/h5/PHP.H5.business &&
chown -R nobody:nobody /var/www/html/h5 &&
chmod -R 775 /var/www/html/PHP.H5.business/public/服务启动、停止
svnserve -d -r /datat/svn/repositories
killall svnserve备份、恢复 以下命令将指定仓库备份为一个文件
svnadmin dump /svn-repos > /bakup/将备份的文件拷到新服务器,并通过下面命令进行恢复
svnadmin create /new_path
svnadmin load /new_path/ < /bakup/svn-repos复制原服务器的配置文件和钩子文件
cp /svn-repos/conf/* /new_path/conf/
cp /svn-repos/hooks/post-commit /new_path/hooks/post-commit启动服务
svnserve -d -r /new_path防火墙放行,svn默认端口:3690
firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload最后更新于