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

前提条件

部署流程

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

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

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

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

步骤二:在云效创建企业

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

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

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

  1. 登录云效Flow
  2. 在左侧导航栏,单击我的流水线,然后单击右上角的新建流水线
  3. 选择流水线模板对话框,选择其他 · 空模板,单击创建
    创建空模板

    创建完成后,会跳转到添加流水线源的页面。

步骤四:配置流水线

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

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

    参数名 说明
    任务名称 自定义的任务名称。
    构建集群 可为任务选择不同的构建集群
    下载流水线源 可为任务选择是否下载流水线源。开启下载流水线源后,您配置流水线源的源文件将会被下载至对应的工作目录下。
    选择服务连接 选择任务连接的服务。如果没有服务连接,单击添加服务连接,根据界面提示,添加您需要的连接。选择任务的服务授权,使云效能在EDAS上部署应用。
    说明 如果您从未授权过,新建服务连接时,请先在 服务授权/证书输入框后,单击 新建,根据跳转完成阿里云RAM授权后再进行相应配置。
    地域 请参见步骤一:在EDAS控制台创建应用,选择该步骤所创建应用所在的地域。
    命名空间 选择所创建应用所在的命名空间。
    应用 请参见步骤一:在EDAS控制台创建应用,选择该步骤所创建的应用。
    软件包 选择步骤四:配置流水线步骤1中构建物上传(EDAS/SAE使用)步骤所创建的产出物名称。
    发布批次 选择批次数量来表示发布分批的数量。
    分批等待时间 相邻发布批次之间的等待时间。
    分批方式 可选择手动确认自动确认。例如,如果您需在完成第一批发布时先观察发布结果再决定后续操作,则可选择手动确认
    (可选)任务插件 您可以根据需要配置任务插件来发送流水线通知。
    • 钉钉机器人通知插件
      • webhook地址:配置钉钉机器人的webhook地址,钉钉机器人的创建步骤请参见钉钉机器人配置
      • 运行时机:您可以选择任务插件发送通知的时机。
    • 邮件通知
      • 邮件地址:配置需要发送通知的邮件地址。
      • 运行时机:您可以选择任务插件发送通知的时机。
    • Webhook通知插件
      • webhook地址:配置需要发送通知的webhook地址,地址必须公网可访问。
      • 运行时机:您可以选择任务插件发送通知的时机。
  4. 配置完成后在页面右上角单击仅保存保存并运行

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

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

结果验证

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

常见问题

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

    您可使用云效以镜像方式部署应用至EDAS的K8s集群,详情请参见使用云效2020进行持续集成和部署(K8s)

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

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

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

如果您在EDAS中使用容器服务K8s集群和Serverless K8s集群过程中有任何疑问或建议,请使用钉钉搜索钉钉群号23197114加入钉钉群进行反馈。