zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    不用循如何计算数组累加和
    mysql通过binlog恢复删除数据
    windows下打开binlog
    mysql的binlog
    枚举实现线程池单例
    AtomicInteger的CAS算法浅析
    不用循环如何计算1累加到100
    MongoDB查询报错:class com.mongodb.MongoSecurityException: Exception authenticating MongoCredential
    Senparc.Weixin微信开发(3) 自定义菜单与获取用户组
    Senparc.Weixin微信开发(2) 消息机制和上下文(Session)
  • 原文地址:https://www.cnblogs.com/gentsir/p/8095990.html
Copyright © 2011-2022 走看看