zoukankan      html  css  js  c++  java
  • linux安装SVN并设置SVN钩子

    linux安装SVN并设置SVN钩子

    检查已安装版本

    #检查是否安装了低版本的SVN

    rpm -qa subversion

    #卸载旧版本SVN

    yum rovesubversion

    一.安装SVN

    yum -y install subversion

    验证安装

    检验已经安装的SVN版本信息

    svnserve --version

    代码库创建

    SVN软件安装完成后还需要建立SVN库

    mkdir -p /www/svn/tata
    svnadmin create /www/svn/tata

    执行上面的命令后,自动建立tata库,查看/www/svn/tata 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

    配置代码库

    进入上面生成的文件夹conf下,进行配置

    cd /www/svn/tata/conf

    用户密码passwd配置

    vim passwd

    修改passwd为以下内容:

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    tata=123456

    权限控制authz配置

    vim authz

    目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    admin=tata,company
    [/]
    @admin=rw

    服务svnserve.conf配置

    vim svnserve.conf

    追加以下内容:

    [general]
    #匿名访问的权限,可以是read,write,none,默认为read
    anon-access=none
    #使授权用户有写权限
    auth-access=write
    #密码数据库的路径
    password-db=passwd
    #访问控制文件
    authz-db=authz
    #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
    realm = My First Repository

    启动SVN

    svnserve -d -r /www/svn/tata

    查看SVN进程

    ps -ef|grep svn|grep -v grep

    检测SVN 端口

    netstat -ln |grep 3690

    停止重启SVN

    另外提供关闭svn的命令:killall svnserve
    开启是svn的命令:svnserve -d -r /www/svn/tata

    二.设置钩子自动更新

    实现SVN与WEB同步,可以CO一个出来,也可以直接用自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。 
    第一步:建立你的web程序目录

    mkdir /var/www/html/tata

    进入你建立的web程序目录(svn checkout可以简写为co)

    checkout svn://localhost/svntest //不重命名文件夹,直接在当前目录下检出
    checkout svn://localhost/svntest test //检出文件并且重命名文件夹

     第二步:在项目库的 hooks/ 目录下将post-commit.tmpl文件复制一份并命名为 post-commit 文件 【钩子脚本】

    添加脚本内容如下

    export LANG=en_US.UTF-8
    SVN=/usr/bin/svn            #这里配置的是svn安装bin目录下的svn文件
    WEB=/var/www/html/tata      #要更新的目录
    $SVN update $WEB --username cqh --password 123456
    chown -R www:www  $WEB

    其中SVN=右边改成 svn 命令位置 
    WEB=右边改成你实际的web目录

    第三步:让post-commit有执行的权限

    chmod a+x post-commit
  • 相关阅读:
    LeetCode--Divide Two Integers
    mysql多实例安装与ssl认证
    ajax请求
    mysql5.6升级及mysql无密码登录
    mysql5.7密码设置
    BusyBox 添加 自定义命令小程序 (applet)
    分享9个常用的国外英文论文文献数据库
    arm linux 移植 gdb/gdbserver
    使用 mtd-utils 烧写Arm Linux 系统各个部分
    YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
  • 原文地址:https://www.cnblogs.com/crazytata/p/10241054.html
Copyright © 2011-2022 走看看