使用雲效進行持續集成和部署,應用在不斷迭代過程中,需要持續集成(CI)和持續部署(CD),通過自動化的構建集成、測試和循環部署,實現快速交付高質量產品並降低人力成本。本文介紹使用雲效2020完成應用的持續集成和部署。
前提條件
-
在EDAS控制台已經部署應用,具體操作步驟,請參見在容器服務K8s集群中使用JAR包或WAR包部署應用。
-
將業務代碼上傳至代碼庫。
-
雲效支持的代碼庫,請參見代碼源。
-
業務代碼中須包含應用的Dockerfile文件,具體制作步驟,請參見構建倉庫與鏡像。
背景信息
使用雲效實現應用的持續集成和部署,根據您期望的部署環境不同,有以下兩種場景:
-
部署到EDAS ECS環境:只能使用JAR包或者WAR包構建、部署。示例文檔,請參見使用雲效部署Java應用至ECS集群。
-
部署到EDAS K8s環境:只能使用鏡像構建、部署。
說明: 在EDAS K8s環境部署應用時,根據不同應用類型,包含JAR包、WAR包和鏡像3種部署方式;在雲效側持續集成和部署應用到EDAS K8s環境時,只能以鏡像方式構建和部署。
使用雲效實現應用的持續集成和部署,您只需要將開發好的新版本應用代碼提交到代碼庫,雲效流水線Flow會監聽代碼事件,當滿足觸發事件時會觸發流水線運行,部署新版本應用到EDAS K8s環境。

代碼開發與提交一般由開發人員執行,本文不做介紹,本文僅介紹在雲效流水線Flow側如何創建流水線,並配置代碼源、鏡像倉庫、部署對象和發布策略等操作流程。
步驟一:在雲效創建企業
如果您是第一次使用雲效Flow,則需要在雲效上創建您的企業。
-
登錄雲效Flow。
-
設置企業、組織或團隊名稱並選擇使用規模,單擊完成創建。
步驟二:在雲效創建流水線
-
登錄雲效Flow
-
在左側導航欄,單擊我的流水線,然后單擊右上角的新建流水線。
-
在選擇流水線模板對話框,在左側單擊Java,在右側選擇Java · 鏡像構建,發布到EDAS Kubernetes,然后單擊創建。

注意 在EDAS控制台創建應用時使用的部署方式(JAR、WAR和鏡像),必須與在雲效流水線設置保持一致。例如:在EDAS上使用鏡像方式部署應用,那么在雲效設置流水線時,構建環節必須是鏡像相關配置。
流水線創建完成后,自動跳轉到流水線配置頁面。
步驟三:配置流水線
-
添加代碼源。
在流水線的源區域,單擊添加代碼源。
在添加流水線源面板,配置流水線源相關信息,然后單擊添加。

雲效中提供的流水線源有3種:代碼源、Jenkins和Flow流水線。本文以代碼源作為示例。

2、Docker鏡像構建。
在流水線的構建區域,單擊Docker鏡像構建,然后展開任務步驟鏡像構建並推送阿里雲。

配置任務步驟參數,配置完成后在頁面右上角單擊保存並運行。


3、部署到EDAS K8s環境。
-
在部署區域,單擊部署到EDAS K8s
-
在編輯面板配置任務信息,然后單擊右上角保存並運行。



步驟四:代碼庫配置Webhook
在代碼庫添加雲效流水線Flow的代碼源觸發功能生成的Webhook地址,雲效流水線Flow會監聽代碼事件,當滿足觸發事件時會觸發流水線運行。
本文使用阿里雲Code作為代碼庫,在代碼庫配置Webhook的步驟僅作參考,其他代碼庫請以實際為准。
-
登錄阿里雲Code,單擊目標項目。
-
在左側導航欄單擊設置。
-
在左側導航欄單擊WebHooks。
-
在WebHooks頁面,設置Webhook地址並選中推送事件,然后單擊增加WEBHOOKS。

結果驗證
-
開發者上傳應用新版本代碼到代碼庫。
-
雲效流水線Flow監聽代碼事件,當滿足觸發事件時會觸發流水線運行。在本示例流水線中配置了分批發布。故在構建任務運行成功后,您可在部署任務的區域執行以下操作:
-
終止變更:可終止本次流水線的運行。
-
恢復變更:可繼續下一批的發布。
-
當前發布單詳情地址:可跳轉到EDAS控制台查看變更詳情。
-
日志:可查看流水線的運行日志。

3、第一批發布完成后,您可以先驗證新版本應用。驗證無誤后,單擊恢復變更,繼續下一批次的發布。您也可以單擊當前發布單詳情地址,在EDAS控制台的變更記錄頁面單擊開始下一批,繼續下一批次的發布。
使用雲效進行持續集成和部署,,應用在不斷迭代過程中,需要持續集成(CI)和持續部署(CD),通過自動化的構建集成、測試和循環部署,實現快速交付高質量產品並降低人力成本。本文介紹使用雲效2020完成應用的持續集成和部署。