應用發行管理用於實現應用的持續部署(Continuous Deployment)。通過標準化的發布流程,可將應用程式自動發布至Elastic Compute Service、Container ServiceACK等雲資源。提升應用發布的效率與穩定性。
關鍵概念
一個應用可劃分為多個應用分組。每個應用分組包含一組計算資源(如 ECS 執行個體)。通過應用發行管理功能,將應用的部署物部署到各應用分組,即可完成應用發布。
應用與應用分組
應用:由應用程式和其部署所需的資源構成,作為一個整體進行管理與營運。
應用程式:待部署的應用程式,例如 Web 服務、機器學習模型、資料庫服務等。
資源:部署應用程式所需的雲資源,例如 ECS、ESS 伸縮組、容器叢集等。
應用分組:同一個應用下可以劃分多個分組,用於隔離不同環境的資源和配置。例如:
按環境劃分:
prod-group(生產環境分組)、pre-group(預發環境分組)。按地區劃分:
hangzhou-group(杭州地區分組)、beijing-group(北京地區分組)。
分組劃分完成後,需為每個分組匯入資源。例如,為杭州分組匯入4台ECS執行個體,為北京分組匯入2台ECS執行個體。應用程式將部署在這些已匯入的資源上。
部署物
部署物是待發布應用程式的源檔案和啟動/停止指令碼的集合。包含了應用程式發布所需的全部資訊,用於實現應用程式的正常化和版本化管理。將部署物發布到應用分組即可完成應用發布。
類型 | 樣本情境 |
將Java應用的JAR包儲存在OSS中,並在部署物中指定該JAR包和啟動/停止指令碼。 | |
將Python應用的代碼儲存在Git倉庫中,並在部署物中指定這個Git倉庫地址和啟動/停止指令碼。 | |
構建包含待發布應用的ECS鏡像,並在部署物中直接指定該鏡像。 | |
將應用的Docker鏡像存放在Container Registry(ACR)倉庫中,並在部署物中指定該鏡像的地址和啟動/停止指令碼。 | |
當無需指定部署物源時,可建立此類型的部署物。所有應用啟動/停止相關的部署操作均通過Shell指令碼實現。 |
發布模式
發布模式 | 說明 | 樣本情境 |
全量發布 | 將應用發布至當前分組下的所有執行個體。 | 將應用發布到生產環境分組下的所有執行個體。 |
灰階發布 | 將應用發布至當前分組下手動選擇的部分執行個體。 | 發布應用到一台執行個體進行功能驗證。 |
應用參數
為應用分組建立的參數,可在部署物的啟動/停止指令碼中作為環境變數引用。
應用參數分為普通參數和加密參數。對於密碼、密鑰等敏感資訊,應使用加密參數以提高安全性。
相關文檔
可以部署應用到一組ECS執行個體快速體驗應用發行管理。