隨着業務線和項目增長,使用rsync 命令方式發佈代碼已經沒法知足需求。因此想搞一套代碼發佈平臺。前端
【需求收集】sql
1.年前開發了一個版本,當時只是和前端PHP團隊溝經過。開發完發現後端需求和前端的需求有出入。因此這個版本給廢掉了。數據庫
2.春節後,跟各業務線Leader從新溝通了一下需求,準備從新開發。後端
【開發架構】服務器
1.前端設計:架構
頁面使用Bootstrap、CSS和Jquery。
數據庫設計
2.數據庫設計:ide
數據庫使用Mysql。
測試
3.後端開發語言:spa
比較熟悉Django,因此使用Django開發。
【功能設計】
1.系統設置:
系統設置主要包括:組管理、用戶管理、項目管理等。用戶登入及權限管理,經過調用SSO API進行管理。
2.代碼管理:
代碼管理主要包括:PULL代碼、PUSH 代碼、CHECK代碼、POST代碼和 ROLLBACK。
PULL代碼:
經過平臺將測試完成的Code,PULL到Online 代碼倉庫,壓縮並生成MD5校驗。
PUSH代碼:
首先選擇發佈項目、線上服務器、版本信息等。而後經過平臺PUSH到線上服務器指定目錄。
CHECK代碼:
校驗Online服務器代碼MD5值是否和代碼倉庫代碼MD5值相同。若是相同進入下一步。
POST代碼:
若是驗證經過,線上服務器代碼路徑軟鏈到項目根目錄,而後Reload服務。
ROLLBACK:
線上服務器會保留5份代碼,當新上線的代碼出現問題,能夠經過ROLLBACK進行回滾到指定版本。
3.項目管理:
主要管理各項目、組和線上服務器對應關係以及訪問權限。
【代碼流程圖】
【頁面展現】
【總結】
如今V1版本已經上線,後期會根據新的需求進行修改。