zoukankan      html  css  js  c++  java
  • LINUX安装SVN+添加自动同步+远程下载最新代码

    LINUX安装SVN+添加自动同步+远程下载最新代码
    ---------------------
    1. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
    ---------------------
    #这个用户可以用来后面专门FTP远程下载该服务器上的代码的账号
    groupadd svn
    useradd svnroot -g svn
    passwd svnroot
    xxx
    ---------------------
    2.进入/home/svnroot 目录,然后下载SVN,并解压
    ---------------------
    cd /home/svnroot
    wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
    wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz
    tar -xzvf  subversion-1.6.17.tar.gz
    tar -xzvf  subversion-deps-1.6.17.tar.gz
    ---------------------
    3.编译安装
    ---------------------
    cd subversion-1.6.17
    ./configure --prefix=/usr/local/svn
    Make
    Make install
    (/usr/local/svn/bin/svnserve --version 查看有没有安装成功)
    ---------------------
    4.建立版本库
    ---------------------
    mkdir -p /home/svnroot/svndata/repos1
     //创建目录,home/svnroot/svndata 是所有仓库的根目录 repos1是其中的一个仓库
    svnadmin create /home/svnroot/svndata/repos1
     //困惑的地方我在虚拟机里面能直接使用svnadmin 但是到了阿里云的机器上则不能直接使用了,提示命令找不到 那我就采用了usr/local/svn/bin/svnadmin create /home/svnroot/svndata/repos1
     //添加svnadmin 到环境变量 我不知道对不对 exprot PATH=$PATH:/usr/local/svn/bin
     随着项目越来越多,容纳到SVN进行管理的东西也越来越多,包括公司资料,网站原始日志,产品图片,项目源码。
     如果按照这种方式来处理的话,一个仓库是肯定不够的,因此打算创建多个仓库
     在server端,新建一个目录用来存放所有的仓库。比如/usr/local/svnrepos. 然后在这个目录下建立每个项目独立

     svnadmin create /usr/local/svnrepos/code
     svnadmin create /usr/local/svnrepos/information

     使用 svnserve -d -r /usr/local/svnrepos 启动。这样你的项目的url是:
     svn://IP/code
     svn://IP/information
    ---------------------
    5.配置仓库
    ---------------------
    cd /home/svnroot/svndata/repos1/conf
     vi svnserve.conf
      打开这个配置文件,可以看到很多配置项已经注释掉了,只需要按下面这几项前面的注释去掉(前面不能有空格)
      [general]
      anon-access = none(这里默认是read 改成none,即为匿名用户可以访问)
      auth-access = write
      password-db = passwd
      authz-db=authz
     vi passwd  
      添加用户和密码
      [users]
      User=passwd
      格式为,用户=密码
     vi authz
      [repos1:/]
      username = rw
    ---------------------
    6.启动SNV
    ---------------------
    svnserve -d -r /home/svnroot/svndata
    netstat -anp|grep svnserve //查看SVN 端口号 默认是3690
    ---------------------
    7.把svn的bin目录加入到环境变量之中
    ---------------------
    vi /etc/profile
    添加export PATH="$PATH:/usr/local/svn/bin"
    保存退出之后运行source /etc/profile
    然后执行svnserve --version 查看是否生效
    ---------------------
    8.设置SVN自启动
    ---------------------
    在/etc/rc.d/rc.local文件中增加这么一行
    svnserve -d -r /home/svnroot/svndata &
    ----------------------
    9.把SVN的代码检出一份
    ----------------------
    #因为前面建立一个svnroot的身份,这里继续在svnroot的家目录进行操作
    svn co svn://xx.xx.xxx.xxx/repos1 /home/svnroot/checkout/ --username zmk
    #下面所有的xx.xx.xxx.xxx均表示服务器IP
    #第10步之前必须进行第9步,因为更新是建立在检出之上的
    ---------------------- 
    10.实现SVN提交完毕后自动同步

    find / -name "svn"

    找到

    /usr/local/../bin/..svn
    ----------------------
    post-commit
     #!/bin/bash
     export LANG="zh_CN.UTF-8"
     /usr/local/../bin/svn update /home/svnroot/checkout/ --username zmk --password xxx
    chmod 777 post-commit #别忘记了修改这个脚本的执行权限
    ---------------------- 
    11.安装ftp
    ---------------------- 
    #参考http://www.centos.bz/2011/03/centos-install-vsftpd-ftp-server/
    yum install vsftp 
    chkconfig vsftpd on
    service vsftpd restart
    #别忘记了touch chroot_list
    ---------------------- 
    12.写在服务器B上的脚本
    ----------------------
    #!/bin/sh
    cd /mnt/hgfs/code/svntest/xx.xx.xxx.xxx/
    rm -rf *.*
    wget -m -np ftp://svnroot:@xx.xx.xxx.xxx/checkout/
    cd xx.xx.xxx.xxx/checkout
    find . -name ".svn" -type d | xargs rm -rf

  • 相关阅读:
    关于《Differentially private empirical risk minimization》论文分析报告
    20192429 2019-2020-2 《Python程序设计》实验四报告
    20192429 2019-2020-2 《Python程序设计》实验三报告
    20192429: 2019-2020-2 《Python程序设计》实验二报告
    20192429 : 2019-2020-2 《Python程序设计》实验一报告
    2019-2020-1学期20192429《网络空间安全专业导论》第十二周学习总结
    2019-2020-1学期 20192429《网络空间安全专业导论》第十一周学习总结
    2019-2020-1学期 20192429《网络空间安全专业导论》第十周学习总结
    2019-2020-1学期20192429 《网络空间安全专业导论》第九周学习总结
    2019-2020-1学期20192429《网络空间安全专业导论》第八周学习总结
  • 原文地址:https://www.cnblogs.com/gaohj/p/3159148.html
Copyright © 2011-2022 走看看