zoukankan      html  css  js  c++  java
  • linux svn配置hooks

    先创建仓库:

    svnadmin create /data/svn/my.com

    再配置权限:

    #cd /data/svn/my.com/conf/

    #vim svnserve.conf 配置

    [general]
    anon-access = none # 使非授权用户无法访问 
    auth-access = write # 使授权用户有写权限
    password-db = /data/svn/repos/100med.com.cn/conf/passwd # 指明密码文件路径 
    authz-db = authz # 访问控制文件
    realm = My First Repository # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。 

    #vim authz 配置访问目录权限 

    #分组配置
    [groups]  
    RD = codesvn
    PP = CHINA
    
    [/data]
    @PP =rw 
    #根目录权限,只有RD组则有权限访问
    [/]
    @RD = rw
    * =
    

    #vim passwd 配置用户和密码

    [users]
    codesvn = ffdsafdsafsdfasdfasfs

    配置勾子:

    #cd /data/svn/my.com/hooks/

    #cp post-commit.tmpl post-commit

    #chmod +x post-commit #给执行权限

    #!/bin/sh
    svn update --username codesvn --password xxxxxxxxxxxxxxx /data/wwwroot/my.com/ 2>>/data/logs/svn/my.com_post_commit_log.txt

    再迁出一份:(非常重要,让勾子知道是哪个目录)

    svn co svn://ip/my.com/ /data/wwwroot/my.com/

    重启svnserve

    #killall svnserve

    #svnserve -d -r /data/svn/ 

    -d 为守护进程

    -r svn仓库目录


     常见问题:

    1.设置了hooks不自动更新代码?

    首先,查看日志,多数原因可能是因为编码问题。(export LANG=en_US.UTF-8)

    参考代码:

    #!/bin/sh
    REPOS="$1"
    REV="$2"
    log_path=/data/logs/svn.my.log
    export LANG=en_US.UTF-8
    echo `whoami`,$REPOS,$REV >> $log_path
    svn update --username svnname--password 1e26cd8217 /data/wwwroot/sgfoot.com/ 2>>$log_path --no-auth-cache
    exit 0
  • 相关阅读:
    《微风吹过的街道》Alpha冲刺Scrum meeting5
    《微风吹过的街道》Alpha冲刺Scrum meeting4
    小明分蛋糕题解
    小明分蛋糕(附题解)
    正确答案
    阴影面积
    双面打印
    实验十 团队作业6:团队项目用户验收&Beta冲刺
    你说什么都不对【Beta】Scrum meeting 4
    你说什么都不队【Beta】Scrum meeting 3
  • 原文地址:https://www.cnblogs.com/300js/p/6243927.html
Copyright © 2011-2022 走看看