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

linux服务器中svn的安装与配置

程序员文章站 2024-03-19 16:59:40
...

开发过程中,对代码的合理有效的管理是提高开发效率的必备手段。选择一款合适的版本管理工具就成为了不可或缺的步骤。本文章将记录centos中svn的配置与管理。

  1. 安装svn

一般centos系统中会 预装svn管理软件。登录centos系统后,在控制台输入以下命令查询是否安装svn。

yum update 
rpm -qa |grep  subversion

linux服务器中svn的安装与配置
如果显示如图所示说明系统中已经安装了svn,如果没有出现上面的界面,需要安装svn。执行以下代码

yum install subversion

安装完成之后查看是否安装成功

svnserve --version

显示以下说明安装成功

linux服务器中svn的安装与配置

  1. 初始化项目库

     2.1创建版本文件存放位置
    
mkdir /home/svn
mkdir /home/svn/webapp
2.2创建成功之后执行以下代码
svnadmin create /home/svn/webapp
ls

出现以下文件和文件夹说明仓库初始化成功
linux服务器中svn的安装与配置

说明 该目录下的conf文件夹下的svnserve.conf为svn的配置文件。
  1. 配置文件修改
    linux服务器中svn的安装与配置

    3.1 anon-access 控制非鉴权用户访问版本库的权限。取值范围为”write”、”read”和”none”。
    即”write”为可读可写,”read”为只读,”none”表示无访问权限。
    缺省值:read

    3.2 auth-access 控制鉴权用户访问版本库的权限。取值范围为”write”、”read”和”none”。
    即”write”为可读可写,”read”为只读,”none”表示无访问权限。
    缺省值:write

    3.3 password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf
    目录的相对路径。
    缺省值:passwd

    3.4 authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
    除非指定绝对路径,否则文件位置为相对conf目录的相对路径。
    缺省值:authz

    3.5 realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
    认证域相同,建议使用相同的用户名口令数据文件。
    缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
    svn常用配置:
    1、svnserve.conf:
    [general]
    anon-access = read
    auth-access = write
    password-db = passwd
    authz-db = authz

  2. 添加用户
    在svn中添加用户并设置权限,修改conf文件夹下的authz和passwd文件添加代码

    passwd: 
                [users] 
                admin=admin
    这里用户密码以=号相连。            
    `authz: 
            [groups] 
            [/] 
            admin= rw  `       

设置admin的权限为rw,即可读可写。只读权限 r。

添加用户完成之后,就可以在svn客户端进行关联svn库的check out操作检查是否配置成功
出现以下界面说明配置成功
linux服务器中svn的安装与配置

  1. 设置svn服务自启动
    5.1在Linux服务器跟目录((/root路径下))创建一个脚本文件
    # touch svn.sh
    5.2 进入脚本文件
    # vim svn.sh
    5.3添加一下内容
    #!/bin/bash
    /usr/bin/svnserve -d -r /home/svn/webapp
    绝对路径怎么查?
    # which svnserve
    5.4 改该脚本的执行权限
    # chmod 777 svn.sh
    5.5 加入自动运行
    # vi /etc/rc.d/rc.local
    在末尾添加脚本的路径:
    /root/svn.sh
    5.6 重启Linux服务器,重启后查看svn服务器是否已经开启
    # ps -ef|grep svnserve
    如果显示以下信息表示svn已经开启了:
    tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

  2. svn关联web服务器自动提交数据

在svn的目录hooks下面执行以下代码

touch post-commit
vim post-commit

在新建的文件中添加一下内容:

#!/bin/bash
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
echo "Code Deployed at `date "+%Y-%m-%d %H:%M"`" >> /home/svn/dl_test/hooks/deploy_log
/usr/local/subversion/bin/svn update --username ****** --password ****** /home/www/data/dl_test

参考:

https://blog.csdn.net/benben0503/article/details/51483286

https://www.cnblogs.com/gaohj/p/3154448.html

相关标签: 架构师之路