一站式交付體驗:雲效+Kubernetes
背景
雲效依託於阿里巴巴研發效能多年規模化持續交付,賦能雲上開發者專為雲端用戶提供的一站式研發協作平台。Kubernetes,由Google開源的容器集群管理平台,面向運維側提供自動化的集群和應用管理解決方案。
一站式交付體驗:雲效+Kubernetes,雲效持續集成流水線 Flow屬於企業級持續集成和持續交付工具,通過構建自動化、集成自動化、驗證自動化、部署自動化,完成從開發到上線CICD過程。通過持續向團隊提供及時回饋,讓交付過程高效順暢。
核心能力
通過結合雲效與Kubernetes可以有效打通從研發協作,持續交付以及自動化運維的整個軟體交付生命周期。
-
研發管理:通過看板持續管理和跟蹤團隊需求,缺陷。並通過持續度量發現研發中的瓶頸並作出改進。
-
持續交付:通過流水線管理程式碼的持續集成,測試,部署以及發布行為,通過自動化的方式定義軟體的整個交付過程。
-
Kubernetes: 屏蔽雲端基礎設施差異,提供多雲的一致性基礎設施和應用管理體驗。
全功能團隊協作
在一個典型的全功能團隊中,一般會包含以下角色:
-
開發人員:持續提交程式碼並且通過持續集成運行單元測試,構建等任務,快速獲取回饋。在完成持續集成後,能夠自動部署程式碼到開發測試環境,以便在需要的時候能夠對新開發的功能進行快速驗證。
-
測試人員:相對於開發來說,測試希望有一個相對較穩定的驗收測試環境,並且能按需部署程式碼到測試環境(一般是開發人員自測完成後)。
-
運維人員:唯一擁有將版本部署到生產環境改的許可權,能一鍵完成生產環境部署,但對許可權和安全發布有更高的要求。
雲效持續交付流水線
持續交付流水線專註於從程式碼到發布的端到端自動化過程。基於雲效提供的流水線編排能力,如上所示,基於雲效持續交付流水線,我們可以快速編排一個持續交付流水線來承載全功能團隊協作的需求。
說明
立即體驗:雲效流水線Flow

基於流水線的團隊協作
在流水線中我們分別創建:CI(持續集成),Dev(開發環境部署),Test(測試環境部署),Prod(生產環境部署)4個階段。同時為了實現不同角色之間的協作與工作流轉。我們將CI,Dev階段設置為自動執行,Test,Prod為手動執行,並且增加了相應的人工卡點以確保只有相應角色的人員能夠確認開始執行部署動作。
如下所示,每次開發人員提交程式碼後都能夠觸發並自動完成CI以及Dev環境的部署,如果CI流程有任務的異常都能夠通過釘釘以及其他方式快速獲取到回饋。

由於Test階段定義為手動執行,因此當需要部署測試環境時,測試人員可以手動觸發該階段的部署,為了確保測試環境不被其它角色進行誤操作,在執行部署動作前需要具有測試owner角色的人員來手動驗證,以開始測試環境部署。

當Dev以及Prod階段均成功以後,運維人員就可以按需對生產環境進行部署。

上述我們定義了一個最簡單的支援開發,測試,運維進行協同工作的持續交付流水線。
更多擴展玩法 基於流水線的流程編排能力,我們可以在上述流水線基礎上按需擴展更多的玩法。 例如:在生產發布之前,我們可以添加一個Beta測試環境增加更多的環境來確保生產環境的安全部署。

或者在Beta以及Prod階段再增加一個只包含人工卡點的階段,在這種場景中我們可以由專門角色的人員負責正式部署前Beta環境的驗證,並且只有在驗證通過之後才能進行Prod環境的發布:

一站式交付體驗:雲效+Kubernetes,雲效持續集成流水線 Flow屬於企業級持續集成和持續交付工具,通過構建自動化、集成自動化、驗證自動化、部署自動化,完成從開發到上線CICD過程。通過持續向團隊提供及時回饋,讓交付過程高效順暢。

