天天看點

雲效DevOps實踐-如何通過雲效進行主機部署

導讀:目前企業都在追求可持續的、快速疊代的軟體工程發展,如何實作從一個需求到傳遞快速落地,這一切都要求企業具備快速響應的能力,這正是推動持續內建、持續傳遞、持續部署的動力。

使用者的訴求或問題

釋出問題:企業釋出需要投入大量精力,很多都是晚上更新,員工得通宵加班,還無法保障更新不出現問題,不具備快速大批量部署的能力;

版本追溯:為了保證版本可追溯,我們需要儲存各個曆史版本,如何實作出錯後能夠快速復原;

品質守護:缺乏統一的研發平台,自動化程度低,沒有有效的品質保障體系,基礎設施保障的建設往往落後于企業的快速發展;

雲效+主機部署解決方案

1、流水線架構圖:結合雲效持續傳遞流水線和主機部署的能力,為應用持續傳遞提供了很好的基礎保障,如圖:

雲效DevOps實踐-如何通過雲效進行主機部署

開發者送出代碼變更到代碼庫,雲效在監聽着代碼庫的變動,一旦代碼發生變化,将自動觸發雲效持續部署流水線一次建構任務的運作,包括代碼檢查、建構、測試部署、測試驗證和生産部署等過程。其中,在建構完之後,生成制品包并自動上傳至OSS倉庫,在部署階段(測試環境的部署和生産環境的部署)時,再從制品倉庫中取得最新的版本,根據不同的部署政策通過主機部署到不同環境,這裡資源可以是阿裡雲或者自建主機資源。

我們将分步驟介紹如何快速配置這樣包含雲效和主機部署的持續部署流水線。

2、雲效+主機部署操作指南:通過以下步驟快速建立基于雲效和主機部署流水線;

建立流水線

進入流水線應用,點選右上角【建立流水線】,選擇對應的開發語言,選擇"測試、建構、部署到阿裡雲ECS/自有主機" 模闆,即可快速使用主機部署釋出能力。

雲效DevOps實踐-如何通過雲效進行主機部署

點選建立,完成初始化流水線,此時彈出建立代碼源,選擇代碼服務和輸入代碼倉庫位址,點選儲存。

雲效DevOps實踐-如何通過雲效進行主機部署

編輯流水線

建構制品:為制品選取一個名稱,在流水線中的後續階段任務中,使用”建構物上傳“中配置的制品。

雲效DevOps實踐-如何通過雲效進行主機部署

主機部署:這裡的【建立主機組】是指運作在不同環境的機器資源,例如:內建測試環境(通常稱作日常環境)、預發環境(稱作預發環境)、對外提供服務的環境(稱作正式環境)等不同的環境裡運作。

雲效DevOps實踐-如何通過雲效進行主機部署

雲效支援兩種主機組:阿裡雲ECS和可以出公網的非阿裡雲主機;

阿裡雲ECS部署請參考:阿裡雲ECS

https://help.aliyun.com/document_detail/153847.html?

公網主機部署請參考:公網主機部署

https://help.aliyun.com/document_detail/153846.html?
雲效DevOps實踐-如何通過雲效進行主機部署

部署配置:在主機部署任務中,可以進行部署相關的配置,用于将建構産物在部署機上進行安裝。

詳細部署配置請參考:部署配置

https://help.aliyun.com/document_detail/153848.html?channel=yy_rccb
雲效DevOps實踐-如何通過雲效進行主機部署

部署政策:主機部署過程中,可以制定對應的部署政策,提供了分批釋出和灰階釋出的能力;

雲效DevOps實踐-如何通過雲效進行主機部署

運作流水線

點選流水線編輯頁面右上角【運作】,流水線會自動儲存并開始運作;

雲效DevOps實踐-如何通過雲效進行主機部署

部署詳情:流水線運作頁面,主機部署任務中,可以點選【部署詳情】檢視部署過程。

雲效DevOps實踐-如何通過雲效進行主機部署

復原方式:流水線所有執行的部署曆史記錄,并可選擇其中任意一條曆史記錄進行復原操作。

雲效DevOps實踐-如何通過雲效進行主機部署

檢視測試報告

點選流水線頁面各階段測試報告,可以檢視詳細的測試結果進行分析;

雲效DevOps實踐-如何通過雲效進行主機部署

3、雲效+主機部署流水線進階:上一節介紹了流水線基本操作,在實際部署操作中可以根據需要完善流水線,增加更多驗證和卡點,例如:

流水線1: 持續驗證流水線:(測試環境主機部署)

雲效DevOps實踐-如何通過雲效進行主機部署

流水線2: 持續釋出流水線:(生産環境主機部署)

雲效DevOps實踐-如何通過雲效進行主機部署

流水線定義了持續傳遞過程的各個步驟和卡點,通過執行流水線1和流水線2即可完成從代碼送出到正式釋出的持續傳遞過程。

雲效DevOps實踐-如何通過雲效進行主機部署

進産品進行體驗:

https://flow.aliyun.com/my?channel=yy_rccb

繼續閱讀