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


    一、概述:

      Subversion(SVN)是一个开源的版本控制系统,也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 。

    二、一些概念:

      repository(源代码库):源代码统一存放的地方

      Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份

      Commit(提交):当你已经修改了代码,你就需要Commit到repository

      Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository 上的源代码同步,你手上的代码就会有最新的变更

    三、安装

    1. 环境

      centos7

    2. 安装

    > yum install subversion  (有些代码加了 -y 的参数,它的意思表示:对所有的提问都回答"yes")

    3. 查看版本 

    > svnserve --version

    4. 创建版本库

    先建目录

    > mkdir /var/svn

    创建版本库

    > cd /var/svn
    > svnadmin create /var/svn/svnrepos
    > cd svnrepos 会看到自动生成的版本库文件
    conf db format hooks locks README.txt

    版本库文件说明

    db目录:就是所有版本控制的数据存放文件
    hooks目录:放置hook脚本文件的目录
    locks目录:用来放置subversion锁定数据的目录,用来追踪存取文件库的客户端
    format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
    conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

    进入conf文件夹会看到三个配置文件

    vim passwd
      设置账号密码 在[users]块中添加用户和密码,格式:账号=密码,如 test=123456

    vim authz
      设置权限 在尾部添加 [/] test=rw (r:读 w:写)
    vim svnserve.conf
      按i进入编辑模式
      打开下面的几个注释:
      anon-access = read #匿名用户可读
      auth-access = write #授权用户可写
      password-db = passwd #使用哪个文件作为账号文件
      authz-db = authz #使用哪个文件作为权限文件
      realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
      按esc退出编辑模式 输入:wq保存退出

    5. 启动/停止版本库

    svnserve -d -r /var/svn/

    用ps查看启动状态

    ps -ef | grep svn

    停止版本库

    killall svnserve

    6. 实现svn与web同步

    1)设置web服务器根目录/home/www

    2)checkout一份到web服务器根目录

    svn co svn://localhost/svnrepos /home/www
    修改web用户权限
    chown -R root:root /home/www

    3)建立同步脚本

    cd /var/svn/svnrepos/hooks/
    cp post-commit.tmpl post-commit
    编辑post-commit,在文件末尾加上以下内容
    export LANG=zh_US.UTF-8 svn update /home/www –username test –password 123456 --no-auth-cache chown -R root:root /home/www
    增加脚本执行权限
    chmod +x post-commit

    四、安装好之后进行测试

    启动SVN客户端

    输入svn://公网IP/svnrepos checkout你可能会发现连接失败

    如果是使用阿里云的服务器,需要在安全组设置添加3690的端口

  • 相关阅读:
    python之接口与抽象类
    python之内置函数与匿名函数
    python之常用模块
    python之块包导入
    python之协程函数、递归、二分法
    Ios证书申请流程
    VUE + vue-cli + webpack 创建新项目(2)
    VUE + vue-cli + webpack 创建新项目
    布局的几种方式(静态布局、自适应布局、流式布局、响应式布局、弹性布局)
    浅谈rem布局和vm布局
  • 原文地址:https://www.cnblogs.com/caichunbao/p/7592190.html
Copyright © 2020-2023  润新知