上次說了持續集成需要處理的問題,最大的問題就是團隊的協調和寫作,也說了confluence和SVN,要打仗一定要裝備牛X,沒有裝備怎麼打仗呢。我們選擇confluence 和svn,jenkins協作來進行開發。
演練大型項目超過50人團隊的管理風格
都是按照我們之前的項目風格來的,當時沒有使用自動化的工具,也依靠這個項目的流程支持了全國的項目。後來行業不景氣,但是我們這套流程基本可以說沒有出現過問題。
- 項目的名稱
上線的流程:商品,交易,web
1.商品項目.war
2.交易項目.war
3.web展示項目.war
####發佈的流程
- 1.制定版本的發佈計劃
(開發版本發佈的窗口,編寫要發佈的系統confluence)
表格的創建是由測試人員或者平臺管理者來進行創建
開發人員進行填充編寫
-
- SVN建立版本庫
建立2個文件夾,一個daily 和一個release
1.daily 日常版本號下的所升級的war包,瞭解線上到底發佈了多少個版本,每個版本設計到哪些系統。
2.release 是某個項目所升級的war包集合
- SVN建立版本庫
-
3.提交程序版本文件到daily目錄下
根據本次升級的confluence中的表格,將項目提交到daily目錄下
-
4.提交配置文件,數據庫腳本到到daily目錄下
根據本次升級的confluence中的表格,將項目提交到daily目錄下
-
5.更新測試環境
通過版本里面的項目,更新測試環境。例如:V1.0.0裏面有3個war包,運維人員根據這3個war包更新指定的項目
-
6.更新測試環境 7.測試通過
由測試人員通知運維人員,將V1.0.0的項目中的war放到指定的release版本下
-
8.發佈到預演環境
測試人員繼續測試,沒有問題
-
9.發佈到生產環境
- 流程總圖
如果公司人數很少只有1-3個人的話,不建議這麼複雜,其實這麼複雜就是爲了多人員控制,進行人員的合理化控制。避免犯錯,協同寫作。圖是按照全部成功的流程來畫的,其實在測試的階段也是在不停的反覆的,直到系統沒有問題。
PS:其實這個流程圖很規範,最好是配合之前寫的tomcat.sh和deploy.sh進行。搞開發一定要工具化流程化,以後的都是這樣的工具化,流程化,模塊化。都不是單兵作戰了,協調能力比你的代碼能力還重要,寫代碼公司招的人都是寫代碼的,其實都會。說實話協調能力我不擅長做這個事情。非常不擅長4,5件事情並行一起做。在流程化管理裏面除了測試人員,就是日常管理人員,可能是項目經理,他要跟各個方面打交道,協調處理,這個能力需要多鍛鍊。