• Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录


    1、安装SVN服务
    [root@bogon ~]# yum -y install subversion

    2、查看svnserve安装目录
    [root@bogon ~]# whereis svnserve
    svnserve: /usr/bin/svnserve /usr/share/man/man8/svnserve.8.gz

    3、查看是否安装成功,如果出现以下提示则安装成功
    [root@bogon ~]# svnserve -h
    usage: svnserve [-d | -i | -t | -X] [options]

    Valid options:
    -d [--daemon] : daemon mode
    -i [--inetd] : inetd mode
    -t [--tunnel] : tunnel mode
    -X [--listen-once] : listen-once mode (useful for debugging)
    -r [--root] ARG : root of directory to serve
    -R [--read-only] : force read only, overriding repository config file
    --config-file ARG : read configuration from file ARG
    --listen-port ARG : listen port
    ....

    4、创建版本库
    [root@bogon /]# vi /etc/sysconfig/svnserve
    # OPTIONS is used to pass command-line arguments to svnserve.
    #
    # Specify the repository location in -r parameter:
    OPTIONS="-r /var/svn"    #默认版本库位置

      4.1)[root@bogon /]# mkdir /var/svn    #可自定义目录
      4.2)[root@bogon /]# svnadmin create /var/svn/ushark.net

    5、配置
      5.1)新增用户
        [root@bogon /]# vi /var/svn/ushark.net/conf/passwd
        [users]
        # harry = harryssecret
        # sally = sallyssecret
        #
        ushark = www.ushark.net       #用户名=用户密码
      5.2)编辑用户权限
        [root@bogon /]# vi /var/svn/ushark.net/conf/authz
        [/]
        ushark = rw                        #授予ushark用户对根目录的读写权限,也可指定子目录
      5.3)编辑svnserve.conf
        [root@bogon /]# vi /var/svn/ushark.net/conf/svnserve.conf
        anon-access = none         #控制非鉴权用户访问版本库的权限
        auth-access = write           #控制鉴权用户访问版本库的权限
        password-db = passwd     #指定用户名口令文件名
        authz-db = authz              #指定权限配置文件名
        realm = ushark.net           #指定版本库的认证域,即在登录时提示的认证域名称
        !!! 以上五项不仅要去掉前面的#号,而且还要删除前面的空格,不然会报 “xxxxx: Option expected”错误 !!!

    6、启动SVN
    [root@bogon /]# systemctl start svnserve.service

    7、设置开机自启
    [root@bogon /]# systemctl enable svnserve

    8、查看SVN端口,并设置防火墙开放其端口
    [root@bogon /]# ss -tnlp | grep svnserve
    LISTEN 0 7 *:3690 *:* users:(("svnserve",pid=1869,fd=3))
    [root@bogon /]# firewall-cmd --permanent --add-service=telnet
    [root@bogon /]# firewall-cmd --permanent --add-port=3690/tcp
    [root@bogon /]# firewall-cmd --reload

    9、解决SVN报“xxxxx: permission denied”错误
    [root@bogon /]# systemctl stop svnserve.service
    [root@bogon /]# killall svnserve
    [root@bogon /]# svnserve -d -r /var/svn/     #以root用户运行

    10、在win10下载安装TortoiseSVN
    checkout时填写的url: svn://www.ushark.net/ushark.net              #svn://your/server/addr/版本库名
    认证用户名:ushark
    认证密码:www.ushark.net

    11、提交代码自动同步到WEB服务目录
    [root@bogon html]# cp /var/svn/ushark.net/hooks/post-commit.tmpl /var/svn/ushark.net/hooks/post-commit
    [root@bogon html]# vi /var/svn/ushark.net/hooks/post-commit
    !!!把文件里所有行注释掉,添加如下关键代码:!!!
    cd /LNMP/nginx/html
    svn co file:///var/svn/ushark.net/ #checkout本地svn版本库, 如果WEB服务与SVN服务不在同一主机,则用http://svn/url/svn_name
    svn cleanup
    svn up /LNMP/nginx/html/ushark.net/ --username ushark --password 123456 --no-auth-cache

  • 相关阅读:
    struts2_文件上传和下载
    struts2_方法拦截器
    struts2_Action之间的重定向传参
    struts2_全局的拦截器,拦截用户非法登陆
    Hibernate入门心得
    struts2_异常页面处理
    设计师小法器:字体大管家
    IE6,IE7下设置body{overflow:hidden;}失效Bug【转】
    子层的margintop属性应用到父层上的解决方法
    jQuery CSS选择器nthchild
  • 原文地址:https://www.cnblogs.com/gentsir/p/8095990.html
Copyright © 2020-2023  润新知