在Jenkins环境中集成了edas-jenkins-plugin插件,您可以使用该插件在Jenkins内快速完成应用持续部署到EDAS。本文介绍了在Jenkins控制台的白屏化部署过程,使用流水线的部署步骤以及使用Job-dsl的任务模板来快速生成部署任务的简介。
前提条件
已安装Job-dsl插件。
安装edas-jenkins-plugin
登录Jenkins首页,单击Manage Jenkins,在Manage Jenkins页面单击Manage Plugins。
在Plugin Manager页面选择Advanced页签,在Upload Plugin区域单击选择文件,选择下载的插件,然后单击Upload。
在Installing Plugins/Upgrades页面等待插件安装完成。
配置账号信息
登录Jenkins首页,单击Manage Jenkins,在Manage Jenkins页面单击Configure System。
在Deploy to EDAS区域内配置账号信息,单击Add,然后单击Advanced输入地域信息。
参数
描述
EDAS credentials name
为AccessKey设置名称。
EDAS Access Key ID
输入账号的AccessKey信息,获取方法,请参见创建AccessKey。
EDAS Access Key Secret
输入账号的AccessKey密钥,获取方法,请参见创建AccessKey。
EDAS Region
请输入您想部署的应用的地域ID,例如cn-hangzhou。
Endpoint(专有云)
在专有云中使用Jenkins前,需在该配置项中输入EDAS的EndPoint,Endpoint请联系EDAS技术支持获取。
说明在公共云中使用Jenkins时,无需配置该参数。
配置完成后在Deploy to EDAS区域单击Ping EDAS,当页面显示success即说明账号信息配置完成。
说明您可以单击Add设置多个EDAS账号。
在Jenkins中创建Freestyle project任务来部署应用
登录Jenkins首页,单击New Item。
在Enter an item name区域输入一个项目名称,选择Freestyle project然后单击OK。
在Post-build Actions区域单击Add post-build actions,然后在下拉列表中单击Deploy to EDAS。
在Deploy to EDAS区域单击Add,在下拉列表中可以选择集群来部署。
参数
描述
EDAS ECS Application
已经部署在ECS集群中的应用在Jenkins插件中升级部署,详细配置参数,请参见在ECS集群中部署应用。
Create EDAS ECS Application
使用Jenkins插件在ECS集群中创建应用并部署,详细配置参数,请参见在ECS集群中创建并部署应用。
EDAS K8s Application
已经部署在容器服务K8s集群中的应用在Jenkins插件中升级部署,详细配置参数,请参见在容器服务K8s集群中部署应用。
Create EDAS K8s Application
使用Jenkins插件在容器服务K8s集群中创建应用并部署,详细配置参数,请参见在容器服务K8s集群中创建并部署应用。
设置完成后在页面左下角单击Save或Apply。
在工程任务页面的左侧导航栏单击Build Now来运行任务。
您将会在Build History区域查看构建记录,单击构建记录可以进入构建记录的详情页面查看构建详情。
使用流水线插件部署应用到EDAS
edas-jenkins-plugin已经支持流水线预发的片段生成器,在Jenkins中构建流水线部署应用到EDAS。
登录Jenkins首页,单击New Item。
在Enter an item name区域输入项目名称,选择流水线然后单击OK。
在Pipeline区域单击Pipeline Syntax。
说明如果您已创建了流水线,可在项目列表单击流水线名称进入流水线管理页面,然后在左侧导航栏单击流水线语法进入片段生成器页面。
在片段生成器页面的Sample Step下拉框选择edasClient: Deploy into EDAS,然后单击Application Setup右侧的Add,然后在下拉列表中选择集群和应用部署类型。
配置部署参数,具体配置信息,请参见在Jenkins中使用edas-jenkins-plugin部署应用的参数配置。
完成参数配置后单击Generate Pipeline Script,拷贝生成的流水线脚本。
在左侧导航栏单击Back返回流水线管理页面,然后在左侧导航栏单击Configure,然后在Pipeline区域按照下图示例输入脚本内容。
说明下图橙色框内的内容需替换为上面步骤生成的脚本。
设置完成后在页面左下角单击Save或Apply。
在工程任务页面的左侧导航栏单击Build Now来运行任务。
您将会在Build History区域查看构建记录,单击构建记录可以进入构建记录的详情页面查看构建详情。
使用Job-dsl插件来构建部署任务
在Jenkins中您可以使用Job-dsl插件来构建一个任务模板,使您可以快速根据模板来构建部署任务。
登录Jenkins首页,单击New Item。
在Enter an item name区域输入项目名称,选择Freestyle project然后单击OK。
在Build区域单击Add build step,然后在下拉列表中选择Process Job DSLs。
说明如果您已创建了流水线,可在项目列表单击流水线名称进入流水线管理页面,然后在左侧导航栏单击流水线语法进入片段生成器页面。
在Process Job DSLs区域单击Use the provided DSL script,然后在脚本输入框内输入您的配置脚本。
job('edas') { //目标任务的名称 publishers { //EDAS插件的类型 edasClient { //EDAS插件调用名称 deployApplication('', '', '', '', '') //调用的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集群中创建并部署应用 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集群中创建并部署应用 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。
在工程任务页面的左侧导航栏单击Build Now来运行任务。
您将会在Build History区域查看构建记录,单击构建记录可以进入构建记录的详情页面查看构建详情。