服务器端SVN部署及基本使用

版权声明:CopyRight @CSDN 码农Robin https://blog.csdn.net/weixin_41423450/article/details/82930175
	在多人协同开发中,有一个必不可少的工具就是SVN/git,它能帮助我们更好地管理项目代码。现在就来学习一下怎么在服务端部署SVN。
  • 系统:centos7.2
  1. 安装SVN服务端
yum -y install subversion
  1. 查看安装路径等信息
rpm -ql subversion
  1. 创建版本库目录
mkdir /var/svn/svnrepos
  • 在这里仅是创建目录,用于存储多个SVN版本库,与SVN本身无关,和普通目录一样
  1. 创建svn版本库
svnadmin create /var/svn/svnrepos/robin
  1. 修改配置
    进入版本库目录(在我这里是robin), 可以看见如下文件信息:
    在这里插入图片描述
    进入到配置目录conf下 ,可以看见如下文件信息:
    在这里插入图片描述
    authz:负责帐号权限的管理,控制帐号读写权限,也可以帐号进行分组
    passwd:负责帐号和密码的用户名单管理
    svnserve.conf:svn服务器配置文件
    1)、设置分组、权限及帐户名
    具体修改如下:
    在这里插入图片描述
    第一部分在groups区创建分组admin,other各包含用户root1,root2和robin1,robin2
    第二部分设置权限:admin组内用户在当前版本库下拥有读写权限
    第三部分设置权限:other组内用户在当前版本库的test目录下拥有读写权限,则对应的svn地址为svn://svn域名/版本库/test
  • 加@时表示设置分组用户的权限,不加@表示设置单个用户的权限

     2)、设置完权限后,设置帐户密码
    

    在这里插入图片描述
    等号左边表示帐户,右边表示密码
    3)、修改SVN服务器配置
    vim svnserve.conf在这里插入图片描述
    解开图中四句的注释即可:
    “anon-access = read auth-access=write”表示开放匿名用户请求权限,即默认情况下,任何人只要知道了你的SVN地址就可以从仓库中获取文件和写入文件,这当然应该禁止,解开注释即表示开启读写权限验证。
    "password-db = passwd"表示指定帐户密码文件
    "authz-db = authz"表示帐户及权限文件
    (在后面两句中可以指定其他文件来储存帐户、密码及权限,但文件中的内容仍需按原有格式书写)

  1. 关闭防火墙
    很多情况下服务端安装完成,配置好后,无法连接SVN服务器,均是防火墙问题。
    关闭防火墙的命令因操作系统而异,网上有很多教程,这里就不再一一赘述了。
  2. 启动SVN服务
svnserve -d -r /var/svn/svnrepos

如报错,切换至根目录下执行该命令
在这里插入图片描述
查看svnserve进程

ps aux|grep svnserve

在这里插入图片描述
尝试本地检出:
在这里插入图片描述
8. 配置服务端版本库更新至web目录
在这里插入图片描述
由于我之前已经设置过一次,下面报错了。下面还是以之前设置的版本库继续
在这里插入图片描述
9. 使用钩子进行SVN自动更新到WEB目录
1)、cd var/svn/svnrepos/1.0/hooks
在这里插入图片描述
2)、cp post-commit.tmpl post-commit #将原文件复制出来,以作备份,svn将要执行的是post-commit文件
在这里插入图片描述
3)、vim post-commit
编辑如下:
注释最后三行:
在这里插入图片描述
加上自己要执行的同步的命令:

export LANG=zh_CN.UTF-8				#若客户端和服务器编码不一样会出现同步失败
WEB=/usr/local/apache/htdocs/			#目标web项目路径
svn update $WEB								#yum安装或已注册为svn服务的情况下可这样使用,否则需要输入完整路径,如:/usr/bin/svn $WEB即上一行所定义的web项目路径

设置post-commit文件权限:

chmod 777 post-commit

在这里插入图片描述
10. 将SVN设置开机自启动
先查找svn命令地址

which svnserve

在这里插入图片描述
在这里插入图片描述
检验一下:
本地仓库编辑一份test.php
在这里插入图片描述
查看Web目录下文件:
在这里插入图片描述
完成!

猜你喜欢

转载自blog.csdn.net/weixin_41423450/article/details/82930175