在Jenkins中使用EDAS插件構(gòu)建應用部署的任務
在Jenkins環(huán)境中集成了edas-jenkins-plugin插件,您可以使用該插件在Jenkins內(nèi)快速完成應用持續(xù)部署到EDAS。本文介紹了在Jenkins控制臺的白屏化部署過程,使用流水線的部署步驟以及使用Job-dsl的任務模板來快速生成部署任務的簡介。
前提條件
已安裝Job-dsl插件。
安裝edas-jenkins-plugin
登錄Jenkins首頁,單擊Manage Jenkins,在Manage Jenkins頁面單擊Manage Plugins。
在Plugin Manager頁面選擇Advanced頁簽,在Upload Plugin區(qū)域單擊選擇文件,選擇下載的插件,然后單擊Upload。
在Installing Plugins/Upgrades頁面等待插件安裝完成。
配置賬號信息
登錄Jenkins首頁,單擊Manage Jenkins,在Manage Jenkins頁面單擊Configure System。
在Deploy to EDAS區(qū)域內(nèi)配置賬號信息,單擊Add,然后單擊Advanced輸入地域信息。
參數(shù)
描述
EDAS credentials name
為AccessKey設置名稱。
EDAS Access Key ID
輸入賬號的AccessKey信息,獲取方法,請參見創(chuàng)建AccessKey。
EDAS Access Key Secret
輸入賬號的AccessKey密鑰,獲取方法,請參見創(chuàng)建AccessKey。
EDAS Region
請輸入您想部署的應用的地域ID,例如cn-hangzhou。
Endpoint(專有云)
在專有云中使用Jenkins前,需在該配置項中輸入EDAS的EndPoint,Endpoint請聯(lián)系EDAS技術支持獲取。
說明在公共云中使用Jenkins時,無需配置該參數(shù)。
配置完成后在Deploy to EDAS區(qū)域單擊Ping EDAS,當頁面顯示success即說明賬號信息配置完成。
說明您可以單擊Add設置多個EDAS賬號。
在Jenkins中創(chuàng)建Freestyle project任務來部署應用
登錄Jenkins首頁,單擊New Item。
在Enter an item name區(qū)域輸入一個項目名稱,選擇Freestyle project然后單擊OK。
在Post-build Actions區(qū)域單擊Add post-build actions,然后在下拉列表中單擊Deploy to EDAS。
在Deploy to EDAS區(qū)域單擊Add,在下拉列表中可以選擇集群來部署。
參數(shù)
描述
EDAS ECS Application
已經(jīng)部署在ECS集群中的應用在Jenkins插件中升級部署,詳細配置參數(shù),請參見在ECS集群中部署應用。
Create EDAS ECS Application
使用Jenkins插件在ECS集群中創(chuàng)建應用并部署,詳細配置參數(shù),請參見在ECS集群中創(chuàng)建并部署應用。
EDAS K8s Application
已經(jīng)部署在容器服務K8s集群中的應用在Jenkins插件中升級部署,詳細配置參數(shù),請參見在容器服務K8s集群中部署應用。
Create EDAS K8s Application
使用Jenkins插件在容器服務K8s集群中創(chuàng)建應用并部署,詳細配置參數(shù),請參見在容器服務K8s集群中創(chuàng)建并部署應用。
設置完成后在頁面左下角單擊Save或Apply。
在工程任務頁面的左側(cè)導航欄單擊Build Now來運行任務。
您將會在Build History區(qū)域查看構(gòu)建記錄,單擊構(gòu)建記錄可以進入構(gòu)建記錄的詳情頁面查看構(gòu)建詳情。
使用流水線插件部署應用到EDAS
edas-jenkins-plugin已經(jīng)支持流水線預發(fā)的片段生成器,在Jenkins中構(gòu)建流水線部署應用到EDAS。
登錄Jenkins首頁,單擊New Item。
在Enter an item name區(qū)域輸入項目名稱,選擇流水線然后單擊OK。
在Pipeline區(qū)域單擊Pipeline Syntax。
說明如果您已創(chuàng)建了流水線,可在項目列表單擊流水線名稱進入流水線管理頁面,然后在左側(cè)導航欄單擊流水線語法進入片段生成器頁面。
在片段生成器頁面的Sample Step下拉框選擇edasClient: Deploy into EDAS,然后單擊Application Setup右側(cè)的Add,然后在下拉列表中選擇集群和應用部署類型。
配置部署參數(shù),具體配置信息,請參見在Jenkins中使用edas-jenkins-plugin部署應用的參數(shù)配置。
完成參數(shù)配置后單擊Generate Pipeline Script,拷貝生成的流水線腳本。
在左側(cè)導航欄單擊Back返回流水線管理頁面,然后在左側(cè)導航欄單擊Configure,然后在Pipeline區(qū)域按照下圖示例輸入腳本內(nèi)容。
說明下圖橙色框內(nèi)的內(nèi)容需替換為上面步驟生成的腳本。
設置完成后在頁面左下角單擊Save或Apply。
在工程任務頁面的左側(cè)導航欄單擊Build Now來運行任務。
您將會在Build History區(qū)域查看構(gòu)建記錄,單擊構(gòu)建記錄可以進入構(gòu)建記錄的詳情頁面查看構(gòu)建詳情。
使用Job-dsl插件來構(gòu)建部署任務
在Jenkins中您可以使用Job-dsl插件來構(gòu)建一個任務模板,使您可以快速根據(jù)模板來構(gòu)建部署任務。
登錄Jenkins首頁,單擊New Item。
在Enter an item name區(qū)域輸入項目名稱,選擇Freestyle project然后單擊OK。
在Build區(qū)域單擊Add build step,然后在下拉列表中選擇Process Job DSLs。
說明如果您已創(chuàng)建了流水線,可在項目列表單擊流水線名稱進入流水線管理頁面,然后在左側(cè)導航欄單擊流水線語法進入片段生成器頁面。
在Process Job DSLs區(qū)域單擊Use the provided DSL script,然后在腳本輸入框內(nèi)輸入您的配置腳本。
job('edas') { //目標任務的名稱 publishers { //EDAS插件的類型 edasClient { //EDAS插件調(diào)用名稱 deployApplication('', '', '', '', '') //調(diào)用的EDAS方法 } } }
支持的方法示例如下:
//在ECS集群中部署應用 void deployApplication( String namespace, String credentialsString, String group, String appId, String targetObject); void deployApplication( String namespace, String credentialsString, String group, String appId, String targetObject, String versionLabelFormat, String versionDescriptionFormat, String batch, String batchWaitTime, String releaseType); //在ECS集群中創(chuàng)建并部署應用 void insertApplication( String namespace, String credentialsString, String applicationName, String packageType, String clusterId, String targetObject, String ecuInfo); void insertApplication( String namespace, String credentialsString, String applicationName, String packageType, String clusterId, String targetObject, String ecuInfo, String versionLabelFormat, String versionDescriptionFormat, String buildPackId, String healthCheckUrl); //在容器服務K8s集群中部署應用 void deployK8sApplication( String namespace, String credentialsString, String appId, String targetObject, Boolean image); void deployK8sApplication( String namespace, String credentialsString, String appId, String targetObject, Boolean image, String edasContainerVersion, String webContainer, String jdk, String versionLabelFormat, String envs, String startupCommand, String args, String cpuLimit, String memoryLimit, String cpuRequest, String memoryRequest, String replicas, String postStart, String preStop, String readiness, String liveness, String updateStrategy); //在容器服務K8s集群中創(chuàng)建并部署應用 void insertK8sApplication( String namespace, String credentialsString, String applicationName, String packageType, String clusterId, String targetObject, String k8sNamespace, String jdk); void insertK8sApplication( String namespace, String credentialsString, String applicationName, String packageType, String clusterId, String targetObject, String k8sNamespace, String jdk, String descFormat, String edasContainerVersion, String webContainer, String versionLabelFormat, String envs, String startupCommand, String args, String cpuLimit, String memoryLimit, String cpuRequest, String memoryRequest, String replicas, String postStart, String preStop, String readiness, String liveness);
設置完成后在頁面左下角單擊Save或Apply。
在工程任務頁面的左側(cè)導航欄單擊Build Now來運行任務。
您將會在Build History區(qū)域查看構(gòu)建記錄,單擊構(gòu)建記錄可以進入構(gòu)建記錄的詳情頁面查看構(gòu)建詳情。