• Linux上搭建SVN服务


    环境:centos7

    一、搭建svn服务

    1. 安装svn

      yum -y install subversion

    2. 创建一个目录作为svn服务的地址(svn://192.168.0.2:3690 访问的目录,作为所有仓库的根目录)

      mkdir /home/svn

    3. 在svn目录下为一个需要版本控制的项目创建仓库,一个svn服务可以有多个仓库

      svnadmin create /home/svn/tp5

      tp5目录下不要直接添加,删除,随意修改文件,要使用svn客户端操作。否则仓库可能报废

    4. 为项目配置用户和权限

      cd /home/svn/tp5/conf 

      (1)设置访问的用户和密码 

        vim passwd  #加入如下代码:

        [users]  #表示访问svn服务根目录

        user1 = 1234 #创建了2个用户及密码

           user2 = 123

        (2)设置用户的权限(可分组)

        vim authz  加入如下代码:

        [/]  #仓库的权限

        user1 = rw  #可读可写

        user2 = r     #只读

        *=      #其它用户没有任何权限

        或分组给权限:

        [group]

        group1 = user1,user2  #group1组里有2个用户:user1,user2

        [/]  #访问根目录的权限

        @group1 = rw    #这样user1和user2都有rw权限 

     5. 在服务配置文件中引入设置

        vim svnserve.conf  #加入如下代码    

    [general]
    auth-access = write  #授权用户访问仓库的权限。值有3个:none  read write  ,write代表可读可写
    anon-access = read  #匿名用户只读
    password-db = passwd  #使用的密码文件
    authz-db = authz     #使用的授权文件
    realm = /home/svn/tp5    #仓库根目录

        6. 启动配置好的SVN服务

            svnserve -d -r /home/svn  # -d 以守护进程启动   -r 仓库目录

    二、svn客户端使用(win10)

      1. 下载客户端工具tortoiseSVN  https://tortoisesvn.net/downloads.html

      2.  从仓库检出代码

      3.  编写核心代码并更新到仓库

    三、linux上svn常用命令

      1. svn checkout svn://xxx  或 svn  co  svn://xxx

      2. svn add filename  #往版本库添加新的文件

      3. svn commit -m “提交描述信息“ [-N] [--no-unlock] file1 file2 简写 svn ci   #将改动的文件提交到版本库

      4. svn lock -m “lock test file“ test.php  #加锁

      5. svn unlock test.php  #解锁

      6. svn delete path -m “delete test fle” 简写 svn rm

      7. svn status -v path  #path是项目工作根目录 

      8. svn log path   #查看项目的日志

      9. svn info filename  #查看文件详细信息

      10. svn diff filename  #将修改的文件和基础版比较差异

      11. svn diff -r m:n filename  # 比较文件在m版和n版的差异

      12 . svn list path  简写 svn ls  #列出path目录下所有属于版本库的文件和目录

    三、创建钩子脚本使web目录项目与仓库代码同步   

       1. 在web目录下检出项目

      svn checkout svn://localhost/tp5  #回车后要输入linux用户密码,svn用户名和密码

      2. 在svn仓库下,hooks目录下创建钩子脚本

      cd /home/svn/tp5j/hooks

      cp post-commit.temp  post-commit  

      chmod 775 post-commit

      vim post-commit  #加入如下代码:

    #!/bin/sh
    export LANG=en_US.UTF8    #设置文件导出的编码方式
    SVN=/usr/bin/svn          #svn命令的路径
    WEB=/usr/local/nginx/www/tp5    #项目路径
    $SVN update $WEB --username xiaobao --password 1234  #执行更新操作

      并注释掉原来文件中的代码。这样每次提交代码到仓库后,web目录下的项目会自动执行更新操作

  • 相关阅读:
    Nginx开启GZIP来压缩网页
    Nginx使用Expires增加浏览器缓存加速
    解决svn working copy locked问题
    Haproxy日志配置
    Nginx内置变量以及日志格式变量参数详解
    利用nginx来屏蔽指定的user_agent的访问以及根据user_agent做跳转
    提升linux下tcp服务器并发连接数限制
    Tomcat的SSL证书配置以及Tomcat+Nginx实现SSL配置
    配置Nginx支持SSL SNI(一个IP绑定多个证书) 以及Haproxy实现多域名证书
    Nginx限制访问速率和最大并发连接数模块--limit (防范DDOS攻击)
  • 原文地址:https://www.cnblogs.com/fanshehu/p/11899217.html
Copyright © 2020-2023  润新知