【原創】使用SVN部署生產環境(已測)(歡迎指正)


詳細內容請查看本人博客 www.thinkidea.net

 

歡迎高手批評指正!!!

這是我自己在紙上畫的一個關於SVN+patch+rsync部署生產環境的圖:

 先看圖:

我的思路是這樣的:

1 SVN服務器是中心,它存儲兩個重要的東西:網站目錄及文件 和 補丁包程序;

2 測速環境中的代碼均來自SVN服務器,分為兩部分:網站源程序和補丁包,均通過svn checkout 獲得;

3 測速環境下,開發完成后,通過svn commint -m 提交;

4 本地svn客戶端,更新;

5 通過本文下方“svn 補丁包生成”,生成相關補丁包;

6 svn補丁包提交至svn服務器;

7 代碼提交服務器上 svn up 補丁包;

8 提交至生產環境rsync覆蓋 。

 

===========20120618update================

 

 code目錄來存放網站源文件

patch目錄用來存放補丁包程序的,在這里我按照日期進行存放

這2個目錄可以在2台服務器上、可以在一台服務器的不同目錄。

這2個目錄可以使用rsync 或者使用 \cp (強制覆蓋)進行更新

 

已測試通過

========================================

 

貌似是有點復雜啊,呵呵。

【想法的初衷是來自:如果網站有上萬個文件的情況下,怎么解決本地提交和服務器下rsync的時間消耗】

原本的代碼提交服務器,看我  上一篇文章 

原先這方面的架構缺點,我認為,在大批量文件上萬的情況下,一方面svn更新/提交要時間;二方面rsync全目錄比對也需要時間

我修改后的這個,只維護補丁包程序,大大減少這中間的時間消耗

 

且根據日期不同,補丁包可按照版本、日期等歸案。

rsync推送的也只有小批量的補丁包程序

 

補丁包程序目錄結構(格式參考)

|-patch

   |——patch_0602

   |——patch_0605

   |——patch_0611

   |——patch_0614

 

|-patch

    |——V1.0

    |——V1.2.2

    |——V2.0bulid

    |——V2.0stand

類似這樣的。

 

 關於patch的補丁包生成,他是這樣的一個過程 看截圖部分20120615補充

 

 

 

 

 

另外,非常希望和有這方面經驗的朋友,討論學習!!!


免責聲明!

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



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