• linux服务器安装svn超详细介绍


    #!/bin/sh REPOS="$1" REV="$2" export LANG=en_US.UTF-8 LOG_PATH=/tmp/svn.log echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH echo `whoami`,$REPOS,$REV >> $LOG_PATH /usr/bin/svn co svn://39.102.74.157/test /usr/share/nginx/html/svn/svnrepos/test/ /usr/bin/svn update /usr/share/nginx/html/svn/svnrepos/test/ -username shanzezhao --password 123456 chown -R 777 /usr/share/nginx/html/svn/svnrepos/test/子曰:“学而不思则罔,思而不学则殆”;

    centos操作系统下安装svn:

    1.查询是否安装 

    rpm -qa subversion
    

      如果想删除svn运行

    yum remove subversion  

     2.如果没有使用则运行以下操作  

    yum -y install  subversion

    3.此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

      若需查看svn安装路径,可以用以下命令:

    rpm -ql subversion

    4.创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

      本人选择/usr/share/nginx/html/svn路径下创建版本库,当前处于根目录下,一次性创建如下:

    mkdir /usr/share/nginx/html/svn/svnrepos

    5.创建svn版本库

      在上边建立的路径基础上,创建版本库,命令如下:

    svnadmin create  /usr/share/nginx/html/svn/svnrepos/test

    (test为你预期的版本库名称,可自定义)

    6.创建成功后,进入test目录下

    cd /usr/share/nginx/html/svn/svnrepos/test

    7.进入目录,可以看见如下文件信息:

     8.修改配置

    cd /usr/share/nginx/html/svn/svnrepos/test/conf

    9. cd conf目录下,一共存放三份重要的配置文件,如下:

        authz:负责账号权限的管理,控制账号是否读写权限

        passwd:负责账号和密码的用户名单管理

        svnserve.conf:svn服务器配置文件

    10.修改这三个文件

    vi authz

        只需在末尾添加,无需在文件其他部分修改和添加任何东西,末尾内容如下:

      []  

      账号1 = rw

      账号1 = rw

       #切记!如果先设置成这样的[]的话 服务器后边svn提交更新的时候报错 请修改成[/]就好了

      rw表示赋予此账号可读写的权限

    11.修改passwd文件信息

    vi passwd

      

      账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:

      账号 = 密码

      例如:test= 123456

    12.修改svnserve.conf(重要

      #authz-db = authz 如果此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常

      realm = My First Repository去掉注释即可,无需做任何修改

      到此,配置已经全部完成,账号信息已经添加成功

    13.防火墙 关闭就可以  如需开启防火墙的状态按照一下操作

    find / -name iptables
    

     

       本人的是这个  你们可以搜一下你们的

    usr/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
    
    /etc/init.d/iptables save
    
    service iptables restart
    

    14.启动svn服务器

    svnserve -d -r /usr/share/nginx/html/svn/svnrepos

    启动成功后,可用ps -aux查看服务启动是否成功

    15.自动更新部署  (搭建svn都不是仅仅为了把代码存到仓库,而是同步部署到对应的项目。)

      在 /usr/share/nginx/html/svn/svnrepos/test/hooks目录的 hooks 里面有一堆tmpl,今天我们就说一下自动部署post-commit.tmpl,

      tmpl文件是模版文件,我们要用post-commit需要手动复制对应tmpl里面的内容到新的post-commit里面。

    cd  /usr/share/nginx/html/svn/svnrepos/test/hooks
    cp post-commit.tmpl post-commit

      使用ftp软件打开 刚刚新建的post-commit 文件,清空文件

    16.修改post-commit文件

      然后打开文件清空内容,修改为以下代码:

    #!/bin/sh    #其中第一行意思是:用sh来解析这个脚本,因为各种shell的语法有细微的差别
    
    REPOS="$1"
    
    REV="$2"
    
    export LANG=en_US.UTF-8  #第二行是编码格式:这里我使用的是UTF-8   有的是GBK格式会报错!!
    
    LOG_PATH=/tmp/svn.log
    
    echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
    
    echo `whoami`,$REPOS,$REV >> $LOG_PATH   #这是一个操作日志  可加可不加
    
    
    
    /usr/bin/svn co svn://39.102.74.157/test /usr/share/nginx/html/svn/svnrepos/test/     
    
    /usr/bin/svn update /usr/share/nginx/html/svn/svnrepos/test/ --username test --password 123456  

    #最后一行/usr/bin/svn 是svn的路径,不是项目路径,应该都是一样的,后半句分别是用户名、密码、和项目路径--username这个比较坑了,前面其实是两个减号,英文输入法下的 chown -R 777 /usr/share/nginx/html/svn/svnrepos/test/

    #!/bin/sh REPOS="$1" REV="$2" export LANG=en_US.UTF-8 LOG_PATH=/tmp/svn.log echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH echo `whoami`,$REPOS,$REV >> $LOG_PATH /usr/bin/svn co svn://39.102.74.157/test /usr/share/nginx/html/svn/svnrepos/test/ /usr/bin/svn update /usr/share/nginx/html/svn/svnrepos/test/ -username shanzezhao --password 123456 chown -R 777 /usr/share/nginx/html/svn/svnrepos/t

     

     

      

  • 相关阅读:
    在VSCode中使用码云
    自定义博客样式
    bolb、bloburl、file、base64间的转换
    html2canvas的使用:vue中将div导出成图片
    vue-to-pdf的使用:vue中将div转换为pdf文件
    早期javac编译器优化
    HttpClient4.3 连接池参数配置及源码解读
    Java编译程序和运行过程详解
    JVM中的常量池详解
    MySQL索引背后的数据结构及原理
  • 原文地址:https://www.cnblogs.com/yx520zhao/p/15064199.html
Copyright © 2020-2023  润新知