邏輯與業務分離,完美實現邏輯與業務分離,業務實現統一shell腳本開發,由python框架統一調用。
並發多線程部署,不管多少台服務器,多少個服務,同時發起線程進行更新、部署、啟動。
提高list規則文件DIY程度,減少新增服務帶來的修改代碼,實現掃描config自動化集成部署。
2.0版本:
版本控制 ,關聯Jenkins實現自動化提交版本轉測試
備份與回滾,可根據時間段進行回滾,實現即時回滾即時使用。
SQL腳本更新,實現通用腳本與增量腳本執行。
3.0版本:
MP多站點自動化集成
1 引言
自動化集成與統一安裝升級,適用於多資源型分布/分離式部署項目。
公司項目較多,部署需要花費大量的人力和時間,且人工部署過程中可能會出現很多人為造成的錯誤,通過自動化集成,可以實現用較少的人力在不同項目和多台服務器上進行自動部署,減少了人為造成的問題,節約了部署時間。在自動化集成后期,會將自動化測試納入整個體系中,達到從部署到測試的目標。
1.1 目的
實現持續集成打包,自動化集成和更新服務,實時監控服務器狀態和自動化測試
1.2 范圍
本項目使用范圍包括:
- 基於多資源型開發項目
- 項目相關服務繁多
- 服務多依賴關系
1.3 讀者
本需求規格說明書的閱讀者或其他文檔干系人有平台總監、產品經理、項目總監、項目經理、開發人員、測試人員、運維人員、用戶體驗設計人員等。
2 項目總體描述
2.1 系統總體功能框架
執行統一安裝前,首先備份上一輪項目並提取涉及配置文件,再是檢查SVN更新版本,確認無誤后執行統一安裝。
實現一鍵執行統一安裝,執行完畢展示服務進程及相關版本。
2.2 系統功能列表
編號 |
模塊 |
功能 |
說明 |
udeployer _T001 |
Autotest |
公共組件平台 |
作為自動化集成及測試的工作組件 |
udeployer _T002 |
Bin |
執行自動化集成主控目錄 |
執行自動化集成主控程序,支持多線程執行 |
udeployer _T003 |
bak |
|
用於存放各個程序需要替換的配置文件的目錄 |
udeployer _T004 |
Common |
存放執行組件(kill進程,啟動進程等) |
存放各個獨立執行組件 |
udeployer _T005 |
Config |
服務配置文件,主控程序通過解析此文件讀取配置 |
配置文件為.ini格式 |
udeployer _T006 |
FileStore |
|
用於存放下載war包的目錄 |
udeployer _T007 |
PID |
保存獲取的進程PID輸出的文件 |
|
udeployer _T008 |
Logs |
對所有操作輸入統一日志輸出和日志格式,輸入友好提示 |
|
udeployer _T009 |
|
實現完整的監控服務和健壯的自動化集成 |
|
3 功能描述
3.1 獲取配置文件
通過本系統統一安裝部署非常簡單,只需用戶根據list模版提供服務列表,其他無需操作。服務列表如下:
名詞解釋:
1 # -*- coding: utf-8 -*- 2 3 [HTTPSERVER] 4 # war包名字 svn地址 部署的IP地址 tomcat目錄 測試版本 5 SERVER = prior 搶先版 192.168.20.19 /home/prior/prior 1.3.2.1
執行腳本,config目錄自動生成用戶所需修改配置文件,配置文件是通過處理篩選后生成,所以一個服務不管需要配置多少文件,這里只生成一個,方便修改與管理。配置文件沿用上一輪版本配置文件,在新一輪版本沒有新增配置項情況,無需修改跳過此步。
3.2 自動化體系
通過jenkins構建項目;version版本控制;udployer自動化集成;ucop業務巡檢做到高效高可用的自動化體系。
自動化集成優勢:
- 無需繁瑣的人員操作,僅僅需要替換配置文件,即可實現一鍵自動化集成
- 多線程操作,同時集成或更新多台服務器
- 減少開發與測試在人工操作上的失誤,如:打包,部署環境及啟動
- 與自動化測試結合,實現從部署到測試都通過自動化完成