本文以云效的示例代碼源為例,介紹如何使用云效以JAR或WAR包的方式部署應用至EDAS的ECS集群。
前提條件
將業務代碼上傳至代碼庫。
部署流程
如果您的應用已經部署在EDAS上,則無需創建新的應用。如果您是第一次部署應用到EDAS,則需要在EDAS控制臺創建應用,以便云效將業務代碼推送到該應用中。
在EDAS創建應用完成后,在云效上創建企業并進入流水線FLOW。
根據EDAS應用類型配置應用集成發布的流水線信息。
流水線配置完成后,運行流水線完成EDAS應用部署。
步驟一:在EDAS控制臺創建應用
如果您未使用過EDAS創建應用,則需要預先在EDAS上創建應用,本文以在ECS集群中創建一個使用JAR包部署的Spring Cloud應用為例。相關操作,請參見在ECS集群中創建并部署應用。
在EDAS控制臺創建應用時使用的部署方式(JAR或WAR),必須與在云效的流水線設置保持一致。例如:在EDAS上使用JAR方式部署應用,那么在云效設置流水線時,構建環節必須是構建和上傳JAR包相關的設置。
步驟二:在云效創建企業
如果您是第一次使用云效Flow,則需要在云效上創建您的企業。
登錄云效Flow。
設置企業名稱、研發組織規模,單擊立即創建。
步驟三:在云效創建流水線
登錄云效Flow。
在左側導航欄,單擊我的流水線,然后單擊右上角的新建流水線。
在選擇流水線模板對話框,選擇其他 · 空模板,單擊創建。
創建完成后,會跳轉到添加流水線源的頁面。
步驟四:配置流水線
在創建的流水線的階段1區域單擊空任務,在編輯面板,配置任務名稱、構建集群、下載流水線源并添加任務步驟。
添加任務說明如下:
在任務步驟區域下,單擊添加步驟,在下拉列表中選擇
,并配置該步驟參數。參數
描述
步驟名稱
輸入您自定義的步驟名稱。
JDK版本
在下拉列表中選擇需要的Java版本。
Maven版本
在下拉列表中選擇需要的Maven版本。
構建命令
自定義的構建命令。
單擊添加步驟,在下拉列表中選擇
,并配置該步驟參數。參數
描述
步驟名稱
輸入您自定義的步驟名稱,不修改則顯示為默認名稱。
制品名稱
自定義產出物名稱,例如default,用于區分多次構建產生的不同產出物,定義后在部署任務中使用。
上傳文件
設置項目文件所在的路徑。
在新階段區域單擊新的任務,在選擇任務組面板的左側導航欄單擊部署,然后選擇EDAS ECS 應用發布。
在編輯面板,配置任務信息。
配置的任務信息說明如下表所示。
參數名
說明
任務名稱
自定義的任務名稱。
構建集群
可為任務選擇不同的構建集群。
下載流水線源
可為任務選擇是否下載流水線源。開啟下載流水線源后,您配置流水線源的源文件將會被下載至對應的工作目錄下。
選擇服務連接
選擇任務連接的服務。如果沒有服務連接,單擊添加服務連接,根據界面提示,添加您需要的連接。選擇任務的服務授權,使云效能在EDAS上部署應用。
說明如果您從未授權過,新建服務連接時,請先在服務授權/證書輸入框后,單擊新建,根據跳轉完成阿里云RAM授權后再進行相應配置。
地域
請參見步驟一:在EDAS控制臺創建應用,選擇該步驟所創建應用所在的地域。
命名空間
選擇所創建應用所在的命名空間。
應用
請參見步驟一:在EDAS控制臺創建應用,選擇該步驟所創建的應用。
軟件包
發布批次
選擇批次數量來表示發布分批的數量。
分批等待時間
相鄰發布批次之間的等待時間。
分批方式
可選擇手動確認或自動確認。例如,如果您需在完成第一批發布時先觀察發布結果再決定后續操作,則可選擇手動確認。
(可選)任務插件
您可以根據需要配置任務插件來發送流水線通知。
釘釘機器人通知插件
webhook地址:配置釘釘機器人的webhook地址,釘釘機器人的創建步驟請參見釘釘機器人配置。
運行時機:您可以選擇任務插件發送通知的時機。
郵件通知
郵件地址:配置需要發送通知的郵件地址。
運行時機:您可以選擇任務插件發送通知的時機。
Webhook通知插件
webhook地址:配置需要發送通知的webhook地址,地址必須公網可訪問。
運行時機:您可以選擇任務插件發送通知的時機。
企業微信機器人通知插件
飛書機器人通知插件
配置完成后在頁面右上角單擊僅保存或保存并運行。
步驟五:在云效部署應用至EDAS
配置完流水線后,在流水線頁面右上角單擊保存并運行,然后在運行配置對話框中選擇代碼分支后單擊運行。
本操作示例中創建的應用擁有2個實例,并在流水線中配置了分批發布和手動確認。故在構建任務運行成功后,在新階段的發布任務中您可執行以下操作:
單擊發布單詳情:可跳轉到EDAS控制臺查看變更詳情。
單擊繼續發布:可繼續下一批的發布。
選擇
:可終止本次流水線的運行。選擇
:可查看流水線的運行日志。選擇
:可取消本次任務運行。
單擊繼續發布,等待流水線執行完畢。
結果驗證
云效顯示部署成功后,登錄EDAS控制臺查看應用的變更記錄,查看是否有與云效相關的部署應用的變更記錄,如果有并顯示執行成功則代表部署成功。
常見問題
如何使用云效以鏡像方式部署應用至EDAS?
您可使用云效以鏡像方式部署應用至EDAS的K8s集群,詳情請參見使用云效2020部署Java應用至ECS集群。
除Java應用外,其他編程語言能否通過云效部署至EDAS?可以使用哪些部署方式部署?
除Java外的其他編程語言可以使用鏡像部署方式,通過云效部署至EDAS。使用鏡像部署時,請確保您應用代碼中有包含應用的Dockerfile文件,操作部署請參見使用云效2020部署Java應用至ECS集群。
EDAS容器服務K8s和Serverless K8s交流群
如果您在EDAS中使用容器服務K8s集群和Serverless K8s集群過程中有任何疑問或建議,請使用釘釘搜索釘釘群號23197114加入釘釘群進行反饋。