阿里云CentOS安装SVN

1、环境
centos7
2、安装svn

yum install subversion 

查看版本

svnserve --version

3、创建版本库
先建目录

mkdir /var/svn

创建版本库

cd /var/svn
svnadmin create /var/svn/svnrepos

cd svnrepos

会看到自动生成的版本库文件:

subversion目录说明:
db目录:就是所有版本控制的数据存放文件。
hooks目录:放置hook脚本文件的目录。
locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。
format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。
进入conf目录(该svn版本库配置文件)cd conf/
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
设置帐号密码

vi passwd

在[users]块中添加用户和密码,格式:帐号=密码,例如:dennis=0454

设置权限

vi authz

在末尾添加如下代码:

[/]
dennis=rw 

(r:读,w:写)

修改svnserve.conf文件

vi svnserve.conf

打开下面的几个注释:

anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

启动svn版本库

svnserve -d -r /var/svn/svnrepos

停止SVN命令

killall svnserve

用ps -ef | grep svn 查看服务是否开启

重点来了
现在我的nginx运行文件(/usr/local/nginx/html)和svn(/usr/bin/svn)的运行文件不在一起,所以要写一个钩子把他们链接起来。在svn所在的hooks文件夹下新建一个 post-commit 文件,然后将文件里写入:

#!/bin/sh
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/usr/local/nginx/html
$SVN update $WEB --username dennis --password 0454

写好后执行:

 chmod 777 /var/svn/svnrepos/hooks/post-commit

关闭svnserve:

killall svnserve

启动svnserve:

svnserve -d -r /var/svn/svnrepos

接下来在nginx坐在的运行文件里(/usr/local/nginx/html)执行

 svn checkout  svn://IP/
 svn update
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值