邏輯與業務分離,完美實現邏輯與業務分離,業務實現統一shell腳本開發,由python框架統一調用。python
併發多線程部署,無論多少臺服務器,多少個服務,同時發起線程進行更新、部署、啓動。shell
提升list規則文件DIY程度,減小新增服務帶來的修改代碼,實現掃描config自動化集成部署。tomcat
2.0版本:服務器
版本控制 ,關聯Jenkins實現自動化提交版本轉測試多線程
備份與回滾,可根據時間段進行回滾,實現即時回滾即時使用。併發
SQL腳本更新,實現通用腳本與增量腳本執行。框架
3.0版本:運維
MP多站點自動化集成svn
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業務巡檢作到高效高可用的自動化體系。
自動化集成優點: