ezeke 发表于 2018-1-13 20:29:24

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

  之前项目开发完成,测试阶段,借着此时,由于公司暂时用两台aliyunecs做业务层,所以每次都需要同步线上文件,进而想着搞一搞服务器端(小公司,新项目,先小搞一把),搭建一套小的版本控制上线的业务体系,完成之后记录一下。
  开发测试流程如下图:(由于只讲述rsync同步,所以为画出总体集群部署)
https://images2015.cnblogs.com/blog/620137/201701/620137-20170104150719847-963291780.png
  开发者通过git(svn)的方式完成代码版本控制,将全部代码push到开发服务器上,待开发完毕通过ssh传入测试服务器,进而测试组介入,完成相应的测试,通过测试服务器git服务器完成线上正式代码的版本控制,通过rsync同步到相应的服务器上。
  现在书归正文,记录一下rsync搭建部署流程(easy版)
  首先编辑正式服务器1(将测试环境代码写入正式环境)
  

#global settings  
pid= /var/run/rsyncd.pid
  
port = 873
  
lock= /var/run/rsyncd.lock
  
= /var//rsync.
  
gid = root
  
uid = root
  

  
#module settings
  
   #写模块
  
path = /web/rsync/write_data#建立一下目录,存储写入文件
  
use chroot = no
  
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= /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/ rsync@正式服务器ip::write_data
  

  完成shell编辑,完成用git版本控制,用rsync同步的目的了,是不是很easy搞起来吧~
  如果需要实时请使用rsync+inotifyhttp://www.cnblogs.com/davidwang456/p/3684945.html
页: [1]
查看完整版本: Git版本控制,rsync同步文件,完成线上部署