• CentOS6.8 搭建SVN并用钩子自动实现同步到web目录


    一 安装

    yum install subversion

    二 检查是否安装成功

    svn --version

    三 创建仓库目录

    mkdir –p /home/svnroot/test

    四 创建项目

    svnadmin create /home/svnroot/test

    五 检查是否创建成功

    cd /home/svnroot/test
    ls    // 查看创建成功后生成的文件

    六 进入conf目录配置该版本库的文件

    authz 是权限控制文件

    passwd 是帐号密码文件

    svnserve.conf 是SVN服务配置文件

    6.1 配置passwd,语法:用户名=密码

    [users]  
    test1 = 123456
    test2 = 123456

    6.2 配置authz用户权限文件

    [/]
    test1 = rw
    test2 = r

    6.3 配置svnserve.conf文件,取消以下几个注释即可

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

    七 启动 SVN服务

    svnserve -d -r /home/svnroot

    注意:不是svnserve -d -r /home/svnroot/test

     八 在本机安装TortoiseSVN

    输入svn://你的ip地址/test

    如果弹出输入账号密码的对话框,表示上述设置正确。

    九 实现自动同步

    假设web目录是 /home/www/test

    在/home/svnroot/test/hooks下创建post-commit文件,文件设置可执行权限

    cp post-commit.tmpl post-commit
    chmod 755 post-commit

    打开post-commit文件,加入以下内容

    export LANG=zh_CN.UTF-8
    svn co svn://你的ip地址/test /home/www/test
    LOG_PATH=/tmp/svn_test.log
    WEB=/home/www/test
    REPOS="$1"
    REV="$2"
    svn update --username test1 --password 123456 $WEB --no-auth-cache >> $LOG_PATH

    最后,回到shell

    svn co svn://你的ip/test /home/www/test

    输入账号密码,即可实现自动同步。

  • 相关阅读:
    php安全模式笔记
    ./configure,make,make install的作用(转)
    composer自动载入类库的方式
    Specified key was too long; max key length is 1000 bytes
    海量数据中找出前k大数(topk问题)
    斐波那契数列n项的值。(递归和非递归算法Golang实现)
    基于Docker和Golang搭建Web服务器
    Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建
    php实现商城秒杀
    一致性hash (PHP)
  • 原文地址:https://www.cnblogs.com/afee666/p/6837009.html
Copyright © 2020-2023  润新知