• SVN同步版本库与网站目录


    如何创建SVN版本库及同步文件到WEB目录

    空谷

    一 安装与配置SVN

    1.安装subversion

    centos: yum install subversion
    
    ubuntu: apt-get install subversion

    2.建立版本库,本例中我们的版本库建立在/var/svn,假设该版本库目录为:foo

    cd /var
    
    mkdir svn
    
    svnadmin create foo

    3.配置版本库

    刚才建立的版本库,需要配置认证方式,用户名和密码,权限配置这三个文件,分别对应/var/svn/foo/conf下的

    svnserve.conf,passwd和authz这三个文件。

    svnserve.conf(去掉注释)
    
    anon-access = none
    
    auth-access = write
    
    password-db = passwd
    
    authz-db = authz.conf

    realm = 填写登录时提示的认证域名称

    passwd文件添加相应用户名和密码:

    user1 = password1
    
    user2 = password2

    如果要使用通用的用户名密码和权限认证,指定password-db和authz-db路径到相应passwd和authz.conf文件位置即可

    authz文件添加相应用户名到组并分配库权限:

    [groups]
    
    foo_user = user1,user2 (多个用户以逗号分隔)
    
    [/]
    
    @foo_user = rw
    
    * =

    其中*=意味着匿名用户没有权限,引用组名时要加上@符号

    4.启动和使用

    配置成功以后,启动svn版本库服务

    svnserve -d -r /var/svn

    获取版本库:

    svn co svn://ip地址/foo

    服务器上可以直接使用 svn co file:///var/svn/foo

    二、同步到WEB目录

    1.创建web目录(已有目录则略过)

    cd /var
    
    mkdir www
    
    chmod 777 www

    2.检出副本到/var/www

    svn co file:///var/svn/foo

    3.增加hooks(钩子)文件

    在/var/svn/foo/hooks/目录

    # start-commit 提交前触发事务

    # pre-commit 提交完成前触发事务

    # post-commit 提交完成时触发事务

    # pre-revprop-change 版本属性修改前触发事务

    # post-revprop-change 版本属性修改后触发事务

    我们这里只需要修改post-commit文件:

    cp post-commit.tmpl post-commit

    编辑该文件

    #!/bin/sh
    
    # 配置库地址
    
    REPOS=”$1″
    
    REV=”$2″
    
    # WEB目录
    
    BASEPATH=/var/www
    
    # web文件夹名与svn库名相同
    
    NAME=$(basename $REPOS)
    
    WEBPATH=”$BASEPATH/$NAME”
    
    # 避免中文信息乱码
    
    export LANG=”zh_CN.UTF-8″
    
    # 可以配合svnlook命令更新指定目录
    
    svn update $WEBPATH –username=user1 –password=password1 –no-auth-cache

    保存后需要修改post-commit文件权限为755,否则SVN无法调用执行

    chmod 755 post-commit
  • 相关阅读:
    Python第三方库SnowNLP(Simplified Chinese Text Processing)快速入门与进阶
    Python第三方库SnowNLP(Simplified Chinese Text Processing)快速入门与进阶
    用python玩微信(聊天机器人,好友信息统计)
    BIOS与UEFI
    MBR&/BOOT&GRUB
    Hard Disk Driver(GPT)
    Hard Disk Drive(MBR)
    反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
    硬盘分区基本知识
    计算机启动过程
  • 原文地址:https://www.cnblogs.com/achengmu/p/3953597.html
Copyright © 2020-2023  润新知