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

  • 相关阅读:
    Composite in Javascript
    Model Validation in Asp.net MVC
    HttpRuntime.Cache vs. HttpContext.Current.Cache
    Controller Extensibility in ASP.NET MVC
    The Decorator Pattern in Javascript
    The Flyweight Pattern in Javascript
    Model Binding in ASP.NET MVC
    Asp.net MVC
    jQuery Ajax 实例 全解析
    ASP.NET AJAX入门系列
  • 原文地址:https://www.cnblogs.com/phpworld/p/6248849.html
Copyright © 2011-2022 走看看