265競彩平台

Choerodon豬齒魚實踐之持續交付流水線

文 / 毛智偉  漢得能效中台中心

在之前的文章《持續集成與持續交付之間的聯係和區別》中,我們提到了持續集成與持續交付的基本概念以及兩者之間的聯係和區別。而本文將更進一步,旨在為大家詳細介紹如何通過Choerodon 豬齒魚的CD流水線功能來幫助項目團隊實現持續交付。

需要

了解

     什麼是持續交付?

在進行功能介紹之前,我們先來回顧下持續交付的概念。持續交付是指在持續集成的基礎上,將集成後的代碼持續不斷地部署到開發、測試或預生產環境進行測試與驗證的能力。也就是說,持續交付是對非生產環境的每一次變更進行交付,而最終選擇部署到生產環境的將會是一項完整的功能或一組功能,又或者是一項完整的應用或服務。


上圖很好的展示了持續交付的整個流程,在通過持續集成之後,便可以持續地將代碼部署至開發或測試環境。最後,待整體功能與需求測試驗收完成,就可以將其手動部署至生產環境之中。當然,還需要注意的是:

持續交付並不意味著每一次變化都要盡快部署到生產環境。而是意味著每一次變化都是隨時可以部署的。

—— Carl Caum(Caum,2013)


什麼

原因

    為什麼要進行持續交付?

眾所周知,持續交付是DevOps實踐中重要的一環,但持續交付能為團隊帶來哪些好處呢?


  • 快速發布。能夠快速響應業務需求,並更快地實現軟件價值;


  • 持續交付倡導的頻繁部署以及自動部署,是持續測試的前提,進而提高軟件質量;


  • 高質量的軟件發布標準。整個交付過程標準化、可重複、可靠;


  • 整個交付過程可視化,方便團隊人員了解項目進度;


  • 更先進的團隊協作方式。從需求分析、產品的用戶體驗到交互 設計、開發、測試、運維等角色密切協作,相比於傳統的瀑布式軟件團隊,更少浪費。


如何

交付

如何通過Choerodon實現持續交付?

Choerodon平台通過CD流水線的形式將開發模塊與部署模塊進行串聯,用戶隻需在流水線中預設對應的部署任務或人工卡點任務,便能將目標應用服務集成後的代碼自動部署到開發環境、測試環境、預生產環境以及生產環境(流轉至生產環境階段需要通過設置審批人員)。然後再設置人工卡點任務,即可通過郵件與站內信的方式及時通知到產品負責人或測試人員對新的部署進行驗收與測試。



創建持續交付流水線

首先在“部署-應用部署-流水線”菜單頁麵,點擊創建流水線,此時出現下圖的流水線創建頁麵。項目人員可在此按需求定義多個流水線階段,同時也可在各階段中定義多個任務。



流水線基礎設置

在創建CD流水線時,需自定義該條流水線的名稱,並設置該條流水線的觸發方式為自動觸發或是人工觸發;


  • 自動觸發:滿足所有觸發條件時,該流水線才會自動執行。若選擇自動觸發,則該流水線中階段一的任務一隻能為部署類型的任務來作為觸發器。


  • 手動觸發:需要手動點擊執行,才能觸發流水線。若選擇手動觸發,則需要為該流水線選擇觸發人員(可多選),隻有被選中的人員才有權限執行該流水線。若流水線中含有部署任務,則要求觸發人員必須擁有流水線中所有部署任務對應的環境權限。


添加與設置階段

  • 添加階段;點擊階段之間的添加按鈕,即可成功添加一個階段;此外還支持修改該階段的名稱,設置階段之間的流轉方式,若選擇手動流轉,需要為此設置審核人員(可多選,且默認為其中一個人員審核通過則該任務通過,第一個審核人員點擊中止則該任務中止)。


  • 任務設置;每個階段下,需要選擇設置對應階段中任務的執行方式。分別是:任務串行與任務並行,其中任務串行是指階段中的所有任務從上至下依次執行;並行是指階段中所有任務同時執行,但階段中任務並行時,此階段中便不能添加人工卡點的任務。


  • 隻有當一個階段中的所有任務均執行成功後,才能進入下一階段。


添加部署任務

為了實現部署流程的可重複性、可靠性以及可伸縮性,持續交付流水線中支持了自動部署的任務類型;但需要在其中配置應用服務、觸發版本類型、環境以及實例部署的相關信息,具體步驟如下:


  • 選擇任務類型為部署後,需填寫任務名稱,並在項目下選擇一個已存在版本的應用服務;

  • 輸入或選擇服務版本類型(此處可以選擇默認給出的版本類型或手動輸入自定義的版本類型。若不填寫此欄,則默認自動部署該應用服務的所有版本);

  • 選擇環境;隻可選擇運行中的環境;

  • 選擇部署模式(部署模式有新建實例和替換實例兩種);

  • 選擇部署配置, 此處會根據您選的應用服務與環境自動匹配所有關聯的部署配置,您可根據給出的配置信息進行選擇。若所選應用服務與環境暫無對應的部署配置,則需要在部署配置頁麵創建一個對應的部署配置。


若流水線中僅存在這一個部署任務,那麼當開發人員提交代碼,跑完CI,生成了滿足條件的應用服務版本後(生成的版本名稱中須包含在任務中定義的版本類型),該條流水線便會被觸發。當流水線中存在多個部署任務,第一次觸發流水線時,需要滿足其中所有流水線的觸發條件(生成滿足條件的服務版本)。



添加人工卡點任務

人工卡點任務用於為階段中的部署任務添加控製與審核人員,指定的審核人員審核通過後,流水線才能繼續執行。若審核未不通過,整條流水線便會在此任務節點終止。添加人工卡點任務的步驟如下:


  • 選擇人工卡點任務類型後,需要填寫任務名稱,並選擇審核人員(可多選);


  • 若選擇了多個審核人員,還需選擇審核模式,其中包括:會簽和或簽。(會簽是指所選的審核人員全部審核通過後才算通過,其中有一人選擇終止,則此任務終止;或簽是指所選的審核人員中,一人審核通過後此任務便通過,一人選擇終止則此任務終止,以其中第一個審核人員的審核結果為準)。


人工卡點任務創建成功後,當流水線執行到此類型的任務時,會默認通過郵件與站內信的方式告知審核人員。在測試與驗收了對應的部署之後,審核人員便可將此任務審核通過,使得流水線繼續執行。



查看持續交付流水線記錄

CD流水線的每一次執行,都會產生一條執行記錄,每條記錄裏還包含了所有階段與任務的執行詳情。


在“應用部署-部署”菜單頁麵,項目人員能在列表中查看到流水線部署記錄的編號、對應的流水線名稱、觸發方式、執行者、運行時間以及運行結果;目前,運行結果存在以下幾種情況:


運行結果

含義

成功

流水線中所有任務執行成功

失敗

流水線中有任務執行失敗

執行中

流水線中有任務正在運行

待審核

流水線正停留在人工審核的節點,包括人工卡點與階段間的人工審核

已終止

人工審核時,點擊終止任務,最後流水線為已終止狀態

已刪除

原流水線已被刪除,但是執行記錄依然保存在此頁麵

 

在記錄列表中,對不同狀態的流水線部署可以執行相應的操作。對於執行失敗的流水線,項目所有者可以重新執行流水線中的所有任務;若流水線狀態為待審核,則需指定的審核人員審核後才能繼續執行;而對於執行中狀態的流程,項目所有者可以對其進行強製失敗的操作。


點擊某條記錄的編號,便能查看到該條記錄的詳情,在此詳情頁麵中,會展示出對應流水線的執行詳情。其中包括了流水線的觸發方式、觸發人員、階段詳情以及任務詳情。




總 結


總的來說,持續交付是持續不斷地將應用服務部署到交付流水線各種環境中的能力。而與持續交付相關的持續集成、持續部署、持續測試、持續反饋以及他們共同作用帶來的持續改善,都是DevOps實踐落地過程中不可或缺的一部分。




關於Choerodon 豬齒魚


Choerodon 豬齒魚作為開源多雲應用敏捷全鏈路技術平台,是基於開源技術Kubernetes,Istio,knative,Gitlab,Spring Cloud來實現本地和雲端環境的集成,實現企業多雲/混合雲應用環境的一致性。平台通過提供精益敏捷、持續交付、容器環境、微服務、DevOps等能力來幫助組織團隊來完成軟件的生命周期管理,從而更快、更頻繁地交付更穩定的軟件。



————

大家也可以通過以下社區途徑了解豬齒魚的最新動態、產品特性,以及參與社區貢獻:


官網:http://choerodon.io

論壇:http://forum.choerodon.io

Github:http://github.com/choerodon


歡迎加入 Choerodon 豬齒魚社區

共同為企業數字化服務打造開放的生態平台



 點擊訂閱 「 漢得季刊 」

即時獲取行業幹貨及最新資訊


© Copyright Hand China Co.,Ltd. All Rights Reserved 265競彩平台

聯係我們

完善信息後我們會第一時間跟您聯係

*
*
captcha *
圖片驗證碼不能為空
*
*
*
*
*
發送失敗
聯係我們
盛景國際彩票邀請碼_盛景國際彩票網登錄_盛景國際彩票開戶|339彩票注冊_339彩票官網_339彩票網址|35彩票官網_35彩票app安卓_35彩票下載|365彩票下載_365彩票注冊3.0_365彩票靠譜嗎|380競彩app下載_380競彩手機版_380競彩注冊網址|500cc彩票app下載_彩135cc彩票app| |