zoukankan      html  css  js  c++  java
  • Linux下SVN多版本库管理

    1.创建SVN版本库目录

    [root@k8s-node-2 ~]# mdkir /home/svn
    [root@k8s-node-2 ~]# cd /home/svn
    [root@k8s-node-2 svn]# svnadmin create 研发部
    [root@k8s-node-2 svn]# svnadmin create 产品
    [root@k8s-node-2 研发部]# ll
    总用量 8
    drwxr-xr-x 2 root root 54 8月 18 11:42 conf
    drwxr-sr-x 6 root root 253 8月 17 09:36 db
    -r--r--r-- 1 root root 2 6月 12 10:51 format
    drwxr-xr-x 2 root root 231 6月 12 10:51 hooks
    drwxr-xr-x 2 root root 41 6月 12 10:51 locks
    -rw-r--r-- 1 root root 229 6月 12 10:51 README.txt
    
    [root@k8s-node-2 conf]# ll
    总用量 12
    -rw-r--r-- 1 root root 1280 8月 6 14:13 authz  #添加目录权限
    -rw-r--r-- 1 root root 508 7月 9 10:59 passwd  #添加用户密码
    -rw-r--r-- 1 root root 3080 8月 18 11:41 svnserve.conf #svn配置文件

    2.authz

    [root@k8s-node-2 conf]# cat authz 
    ### This file is an example authorization file for svnserve.
    ### Its format is identical to that of mod_authz_svn authorization
    ### files.
    ### As shown below each section defines authorizations for the path and
    ### (optional) repository specified by the section name.
    ### The authorizations follow. An authorization line can refer to:
    ###  - a single user,
    ###  - a group of users defined in a special [groups] section,
    ###  - an alias defined in a special [aliases] section,
    ###  - all authenticated users, using the '$authenticated' token,
    ###  - only anonymous users, using the '$anonymous' token,
    ###  - anyone, using the '*' wildcard.
    ###
    ### A match can be inverted by prefixing the rule with '~'. Rules can
    ### grant read ('r') access, read-write ('rw') access, or no access
    ### ('').
    
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    admin = xadmin  #配置管理员
    yanfa = x1,x2,x3,x4,x5  #配置部门成员
    
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    [/]
    @admin = rw
    @yanfa = rw*=

    3.passwd

    [root@k8s-node-2 conf]# cat passwd
    ### This file is an example password file for svnserve.
    ### Its format is similar to that of svnserve.conf. As shown in the
    ### example below it contains one section labelled [users].
    ### The name and password for each user follow, one account per line.
    
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    xadmin = 123456
    x1 = 123456
    x2 = 123456
    x3 = 123456
    x4 = 123456
    

    4.svnserve

    [root@k8s-node-2 conf]# cat svnserve.conf 
    ### This file controls the configuration of the svnserve daemon, if you
    ### use it to allow access to this repository.  (If you only allow
    ### access through http: and/or file: URLs, then this file is
    ### irrelevant.)
    
    ### Visit http://subversion.apache.org/ for more information.
    
    [general]
    ### The anon-access and auth-access options control access to the
    ### repository for unauthenticated (a.k.a. anonymous) users and
    ### authenticated users, respectively.
    ### Valid values are "write", "read", and "none".
    ### Setting the value to "none" prohibits both reading and writing;
    ### "read" allows read-only access, and "write" allows complete 
    ### read/write access to the repository.
    ### The sample settings below are the defaults and specify that anonymous
    ### users have read-only access to the repository, while authenticated
    ### users have read and write access to the repository.
    anon-access = none
    auth-access = write
    ### The password-db option controls the location of the password
    ### database file.  Unless you specify a path starting with a /,
    ### the file's location is relative to the directory containing
    ### this configuration file.
    ### If SASL is enabled (see below), this file will NOT be used.
    ### Uncomment the line below to use the default password file.
    password-db = passwd
    ### The authz-db option controls the location of the authorization
    ### rules for path-based access control.  Unless you specify a path
    ### starting with a /, the file's location is relative to the the
    ### directory containing this file.  If you don't specify an
    ### authz-db, no path-based access control is done.
    ### Uncomment the line below to use the default authorization file.
    authz-db = authz
    ### This option specifies the authentication realm of the repository.
    ### If two repositories have the same authentication realm, they should
    ### have the same password database, and vice versa.  The default realm
    ### is repository's uuid.
    realm = /home/svn/研发部
    ### The force-username-case option causes svnserve to case-normalize
    ### usernames before comparing them against the authorization rules in the
    ### authz-db file configured above.  Valid values are "upper" (to upper-
    ### case the usernames), "lower" (to lowercase the usernames), and
    ### "none" (to compare usernames as-is without case conversion, which
    ### is the default behavior).
    # force-username-case = none
    
    [sasl]
    ### This option specifies whether you want to use the Cyrus SASL
    ### library for authentication. Default is false.
    ### This section will be ignored if svnserve is not built with Cyrus
    ### SASL support; to check, run 'svnserve --version' and look for a line
    ### reading 'Cyrus SASL authentication is available.'
    # use-sasl = true
    ### These options specify the desired strength of the security layer
    ### that you want SASL to provide. 0 means no encryption, 1 means
    ### integrity-checking only, values larger than 1 are correlated
    ### to the effective key length for encryption (e.g. 128 means 128-bit
    ### encryption). The values below are the defaults.
    # min-encryption = 0
    # max-encryption = 256

    5.另一个版本库参照上一个创建

    6.添加svn到自启动服务

    [root@k8s-node-2 ~]# vim /usr/lib/systemd/system/svnserve.service
    
    [Unit]
    Description=Subversion protocol daemon
    After=syslog.target network.target
    
    [Service]
    Type=forking
    EnvironmentFile=/etc/sysconfig/svnserve
    ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS
    
    [Install]
    WantedBy=multi-user.target
    
    [root@k8s-node-2 ~]# vim /etc/sysconfig/svnserve
    
    # OPTIONS is used to pass command-line arguments to svnserve.
    # 
    # Specify the repository location in -r parameter:
    OPTIONS="-r /home/svn"

    查看svn运行状态

    [root@k8s-node-2 ~]# systemctl status svnserve.service 
    ● svnserve.service - Subversion protocol daemon
       Loaded: loaded (/usr/lib/systemd/system/svnserve.service; enabled; vendor preset: disabled)
       Active: active (running) since 二 2020-08-18 11:42:14 CST; 4h 16min ago
      Process: 28519 ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS (code=exited, status=0/SUCCESS)
     Main PID: 28520 (svnserve)
        Tasks: 1
       Memory: 205.6M
       CGroup: /system.slice/svnserve.service
               └─28520 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -r /home/svn
    
    8月 18 14:06:37 k8s-node-2 svnserve[7195]: DIGEST-MD5 common mech free
    8月 18 14:06:38 k8s-node-2 svnserve[7197]: DIGEST-MD5 common mech free
    8月 18 14:06:38 k8s-node-2 svnserve[7198]: DIGEST-MD5 common mech free
    8月 18 14:12:06 k8s-node-2 svnserve[7725]: DIGEST-MD5 common mech free
    8月 18 14:12:07 k8s-node-2 svnserve[7727]: DIGEST-MD5 common mech free
    8月 18 14:12:07 k8s-node-2 svnserve[7729]: DIGEST-MD5 common mech free
    8月 18 14:12:26 k8s-node-2 svnserve[7764]: DIGEST-MD5 common mech free
    8月 18 14:12:26 k8s-node-2 svnserve[7765]: DIGEST-MD5 common mech free
    8月 18 14:12:26 k8s-node-2 svnserve[7766]: DIGEST-MD5 common mech free
    8月 18 14:26:04 k8s-node-2 svnserve[7857]: DIGEST-MD5 common mech free

    7.版本库切换浏览

    svn://192.168.1.205:3690/研发部

    svn://192.168.1.205:3690/产品

  • 相关阅读:
    js中的原生Ajax和JQuery中的Ajax
    this的用法
    static的特性
    时政20180807
    java compiler没有1.8怎么办
    Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet Unknown Faceted Project Problem (Java Version Mismatch)
    分词器
    [数算]有一个工程甲、乙、丙单独做,分别要48天、72天、96天完成
    一点感想
    解析Excel文件 Apache POI框架使用
  • 原文地址:https://www.cnblogs.com/FireLL/p/13524051.html
Copyright © 2011-2022 走看看