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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM