Git版本控制,rsync同步文件,完成线上部署

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

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

Git版本控制,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

上一篇:快速创建yii2 RESTful api的小记


下一篇:49.Node.js RESTful API