本文以云效的示例代码源为例,介绍如何使用云效以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加入钉钉群进行反馈。