zoukankan      html  css  js  c++  java
  • Git版本控制,rsync同步文件,完成线上部署

     之前项目开发完成,测试阶段,借着此时,由于公司暂时用两台aliyun  ecs  做业务层,所以每次都需要同步线上文件,进而想着搞一搞服务器端(小公司,新项目,先小搞一把),搭建一套小的版本控制上线的业务体系,完成之后记录一下。

    开发测试流程如下图:(由于只讲述rsync同步,所以为画出总体集群部署)

    开发者通过git(svn)的方式完成代码版本控制,将全部代码push到开发服务器上,待开发完毕通过ssh传入测试服务器,进而测试组介入,完成相应的测试,通过测试服务器git服务器完成线上正式代码的版本控制,通过rsync同步到相应的服务器上。

    现在书归正文,记录一下rsync搭建部署流程(easy版)

    首先编辑正式服务器1(将测试环境代码写入正式环境)

    #global settings 
    pid file = /var/run/rsyncd.pid
    port = 873
    lock file = /var/run/rsyncd.lock
    log file = /var/log/rsync.log
    gid = root
    uid = root
    
    #module settings 
    [write_data]   #写模块
    path = /web/rsync/write_data  #建立一下目录,存储写入文件
    use chroot = no
    max connections = 15
    read only = no
    list = no
    ignore errors = yes
    timeout = 120
    auth users = rsync    #在此之前建立相应的用户和密码  echo "rsync:password123" > /etc/rsyncd.passwd      chmod 600 /etc/rsyncd.passwd
    secrets file = /etc/rsyncd.passwd
    hosts allow = 192.168.2.32 192.168.1.0/24 #限制ip

    在测试服务器上编辑shell脚本完成执行同步

    #!/bin/bash
    export RSYNC_PASSWORD="password123"
    rsync -avz --progress --delete /opt/log rsync@正式服务器ip::write_data

    完成shell编辑,完成用git版本控制,用rsync同步的目的了,是不是很easy  搞起来吧~

    如果需要实时请使用rsync+inotify  http://www.cnblogs.com/davidwang456/p/3684945.html

  • 相关阅读:
    【javascript基础】之【理解JavaScript函数(函数和对象的区别和联系)】
    time
    IE6双倍边距
    【javascript基础】之【delete 运算符】
    【javascript基础】之【解剖JavaScript中的null和undefined】
    buildessential centos
    centOS restart xinetd
    g77 CentOS
    yum search package
    xos_thread
  • 原文地址:https://www.cnblogs.com/phpworld/p/6248849.html
Copyright © 2011-2022 走看看