在咱們程序員工做中每每伴隨着頻繁加班/通宵發版的過程當中,對於小型項目或是隻有當臺服務器部署的這些項目,咱們僅僅用代碼全量發佈,將開發工具工做空間的項目下的目錄挨個用ftp或者其它工具上傳替換就行。可是,咱們的是大型項目(模塊多/部署服務器多)時,用前面的方式來發布就顯得很是低效。nginx
今天小編分享下本身在工做時使用的增量發版過程當中的增量打包方案,在介紹打包方案以前,先說說小編負責的項目**俱樂部系統,該系統由兩個項目組成,分別是**俱樂部項目和接口服務器項目;雖然單看是兩個項目的發版而已,可是支撐的服務器確很是的多,它們分別是web服務器30臺+數據庫四臺(一主三從)+redis兩臺+nginx三臺+web接口服務器一臺+資源服務器3臺,數據庫有10G+的數據,每次發版都須要進行數據庫備份、資源服務器備份(30G+)、nginx重定向配置(服務器維護升級跳轉地址)、代碼備份(其中包括普通代碼備份+定時任務代碼備份)。若是要快速完成發版那增量打包這個過程必須有完美的解決方案(增量文件列表、刪除的文件列表),之前咱們每次發佈須要2-3個小時,且常常出某些服務器代碼未發佈上去的狀況。如今,咱們開發了一款專門用於增量發版打包的工具patch-generator-desk(地址:https://gitee.com/hackempire/patch-generator-desk)發版時間縮短爲20-30分鐘時間完成發版。git
那麼,patch-generator-desk的使用教材請到git地址查看,這裏就不過多的介紹了。直接介紹發版時的增量打包準備流程(本次以SVN日誌增打包的方案爲例介紹,其它的GIT方案等等請移步redme):程序員
1.打開軟件patch-generator-desk-2.0.exe,配置好相應的參數web
注意:SVN日誌文件指的是咱們在提交代碼時的提交日誌,copy保存下來的總文件redis
日誌文件實例圖:數據庫
2.點擊保存配置文件,能夠將項目信息的配置文件保存爲一個.xml,做爲下次打包時導入配置服務器
3.點擊打包按鈕工具
注意:上訴打包文件直接使用xftp或其餘ftp工具上傳替換便可完成發版。開發工具