本文以云效的示例代码源为例,介绍如何使用云效以JAR包的方式部署应用至EDAS的ECS集群。

前提条件

部署流程

部署流程
  1. 如果您的应用已经部署在EDAS上,则无需创建新的应用。如果您是第一次部署应用到EDAS,则需要在EDAS控制台创建应用,以便云效将业务代码推送到该应用中。
  2. 在EDAS创建应用完成后,在云效上创建企业并进入流水线FLOW。
  3. 根据EDAS应用类型配置应用集成发布的流水线信息。
  4. 流水线配置完成后,运行流水线完成EDAS应用部署。

步骤一:在EDAS控制台创建应用

如果您未使用过EDAS创建应用,则需要预先在EDAS上创建应用,本文以在ECS集群中创建一个使用JAR包部署的Spring Cloud应用为例。详情请参见部署Spring Cloud应用至ECS集群

注意 在EDAS控制台创建应用时使用的部署方式(JAR或WAR),必须与在云效的流水线设置保持一致。例如:在EDAS上使用JAR方式部署应用,那么在云效设置流水线时,构建环节必须是构建和上传JAR包相关的设置。

步骤二:在云效创建企业

如果您是第一次使用云效Flow,则需要在云效上创建您的企业。

  1. 登录云效Flow
  2. 设置企业、组织或团队名称并选择使用规模,单击完成创建
    首次登录云效创建企业

步骤三:在云效创建流水线

  1. 登录云效Flow
  2. 流水线Flow页面右上角,单击新建流水线
  3. 选择流水线模板对话框,选择其他 · 空模板,单击创建
    创建空模板

    创建完成后,会在页面左下角弹出流水线已创建的弹窗。

步骤四:配置流水线

  1. 创建流水线后会自动在页面右侧弹出添加流水线源面板,配置流水线源信息,配置完成后在面板最下方单击添加
    添加流水线源

    云效中提供的流水线源有3种:代码源JenkinsFlow流水线。本文以代码源作为示例。

    参数 描述
    选择代码源 选择您业务代码所在的代码源。
    说明 不同代码源需要配置的参数不同,请根据实际界面进行配置。
    代码类型 选择JAVA
    代码仓库 选择您的代码仓库地址。
    默认分支 选择代码分支。
  2. 在创建的流水线的阶段1区域单击空任务,设置任务名称
    构建流水线任务
  3. 编辑面板单击添加步骤,在下拉列表中选择构建 > Java构建,并配置该步骤参数。
    云效JAVA构建
    参数 描述
    步骤名称 输入您自定义的步骤名称。
    请选择Java版本 在下拉列表中选择需要的Java版本。
    构建命令 自定义的构建命令。
  4. 单击添加步骤,在下拉列表中选择上传 > 构建物上传(EDAS/SAE使用),并配置该步骤参数。
    构建物上传(EDAS/SAE使用)
    参数 描述
    步骤名称 输入您自定义的步骤名称,不修改则显示为默认名称。
    制品名称 自定义产出物名称,例如default,用于区分多次构建产生的不同产出物,定义后在部署任务中使用。
    上传文件 设置项目文件所在的路径。
  5. 新阶段区域单击新的任务,在选择任务组面板的左侧导航栏单击部署,然后选择EDAS ECS 应用发布
    EDAS ECS应用部署
  6. 编辑面板,配置任务信息。
    EDAS ECS部署

    配置的任务信息说明如下表所示。

    参数名 说明
    任务名称 自定义的任务名称。
    构建集群 可为任务选择不同的构建集群
    选择授权 选择任务的服务授权,使云效能在EDAS上部署应用。
    说明 如果您从未授权过,请先单击新建服务授权,根据跳转完成阿里云RAM授权后再进行相应配置。
    区域 请参见步骤一:在EDAS控制台创建应用,选择该步骤所创建应用所在的地域。
    应用 请参见步骤一:在EDAS控制台创建应用,选择该步骤所创建的应用。
    软件包 选择步骤4所创建的产出物名称。
    发布批次 选择单批次发布,表示不分批发布;选择批次数量来表示发布分批的数量。
    分批等待时间 相邻发布批次之间的等待时间。
    分批方式 可选择手动确认自动确认。例如,如果您需在完成第一批发布时先观察发布结果再决定后续操作,则可选择手动确认
    任务插件(可选) 您可以根据需要配置任务插件来发送流水线通知。
    • 钉钉机器人通知插件
      • webhook地址:配置钉钉机器人的webhook地址,钉钉机器人的创建步骤请参见钉钉机器人配置
      • 运行时机:您可以选择任务插件发送通知的时机。
    • 邮件通知
      • 邮件地址:配置需要发送通知的邮件地址。
      • 运行时机:您可以选择任务插件发送通知的时机。
    • Webhook通知插件
      • webhook地址:配置需要发送通知的webhook地址,地址必须公网可访问。
      • 运行时机:您可以选择任务插件发送通知的时机。
  7. 配置完成后在页面右上角单击仅保存保存并运行

步骤五:在云效部署应用至EDAS

  1. 配置完流水线后,在流水线页面右上角单击保存并运行,然后在运行配置对话框中选择代码分支后单击运行
    本操作示例中创建的应用拥有2个实例,并在流水线中配置了分批发布。故在构建任务运行成功后,在新阶段的发布任务中您可在更多的下拉列表执行以下操作:执行流水线
    • 单击终止变更:可终止本次流水线的运行。
    • 单击恢复变更:可继续下一批的发布。
    • 单击发布单详情:可跳转到EDAS控制台查看变更详情。
    • 单击日志:可查看流水线的运行日志。
  2. 单击恢复变更,等待流水线执行完毕。
    流水线执行成功

结果验证

云效显示部署成功后,登录EDAS控制台查看应用的变更记录,查看是否有与云效相关的部署应用的变更记录,如果有并显示执行成功则代表部署成功。

常见问题

  • 如何使用云效以镜像方式部署应用至EDAS?

    您可使用云效以镜像方式部署应用至EDAS的K8s集群,详情请参见使用云效2020部署Java应用至EDAS K8s集群

  • 除Java应用外,其他编程语言能否通过云效部署至EDAS?可以使用哪些部署方式部署?

    除Java外的其他编程语言可以使用镜像部署方式,通过云效部署至EDAS。使用镜像部署时,请确保您应用代码中有包含应用的Dockerfile文件,操作部署请参见使用云效2020部署Java应用至EDAS K8s集群

EDAS容器服务K8s和Serverless K8s交流群

如果您在EDAS中使用容器服务K8s集群和Serverless K8s集群过程中有任何疑问或建议,请提交工单,或使用钉钉扫描下面的二维码或搜索钉钉群号23197114加入钉钉群进行反馈。

EDAS K8s/Serverless K8s交流群