云效流水线Flow体验ECS

更新时间:
复制为 MD 格式

本实验带您快速体验云效CICD流程。

场景简介

通过本实验的操作,带您体验使用云效流水线搭建应用构建、部署流程。

费用说明

本实验时长2个小时,预计产生费用为1.92元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。

背景知识

本场景主要涉及以下云产品和服务:

创建实验资源

  1. 在实验页面,勾我已阅读并同意《阿里云云起实践平台服务协议》我已授权阿里云云起实践平台创建、读取及释放实操相关资源后,单击开始实操

  2. 创建资源需要5分钟左右的时间,请您耐心等待。

  3. 云产品资源列表,您可以查看本场景涉及的云产品资源信息。

    image

新建标准版组织

本步骤介绍如何新建云效标准版组织。

说明

使用云效前您需要创建或加入一个组织,如果您的阿里云账号已创建或加入一个组织,可跳过此步骤。

  1. 登录阿里云云效控制台

  2. 在左侧导航栏中,选择实例管理 > 标准版

    image

  3. 标准版实例管理页面,单击新建组织

    image

  4. 在页面中,单击云效DevOps中的立即开启

    image

  5. 在页面中,设置组织名称研发组织规模,单击立即创建

    image

  6. 在页面中,选择角色,单击开始工作

    image

创建流水线

本步骤以Java Spring Boot的代码库为例,指导您如何进行构建并部署到阿里云ECS服务器。

  1. 登录流水线Flow控制台

  2. 我的流水线页面,单击右上角的新建流水线

    image

  3. 选择流水线模板对话框中,选择Java > Java · 测试、构建、部署到阿里云ECS/自有主机,然后单击创建

    image

添加流水线源

创建流水线之后会自动弹出添加流水线源的面板,本步骤将指导您如何选择流水线Flow预置的示例代码。

  1. 添加流水线源面板中,选择代码源 > 示例代码源 > JAVA,单击添加

    image

配置Java构建任务

本步骤将指导您配置Java构建任务,增加一个deploy.sh的打包路径。

deploy.sh文件存在于代码库中,其中包含了在ECS上进行应用启动的脚本,为了进行后续的主机部署,您需要将这个文件也打入到压缩包中,在后续的主机部署任务中您可以看到如何使用该deploy.sh文件。在该配置中指定了target/deploy.sh两个路径,所以Flow会将这两个文件(夹)打包成为一个压缩包,并进行归档,在Flow中我们称之为制品,该制品也会在后续的主机部署任务中用到。

  1. 流程配置页面,单击Java构建上传

    image

  2. 编辑面板,单击构建物上传

    image

  3. 构建物上传区域的打包路径右侧,单击image图标,在新增的打包路径框中输入deploy.sh

    image

配置测试

本步骤将指导您配置Maven单元测试任务。

  1. 流程配置页面,单击Maven 单元测试

    image

  2. 编辑面板,单击单元测试报告,取消勾选测试用例失败时,停止流水线

    image

配置主机部署任务

本步骤将指导您配置主机部署任务。

  1. 流程配置页面,单击主机部署

    image

  2. 编辑面板中,制品选择制品名称.Artifacts_${PIPELINE_ID},单击新建主机组

    说明

    制品选择上游构建阶段的产物,可在Java构建上传中查看构建物上传的制品名称。

    image

  3. 主机组管理页面,单击新建主机组

    image

  4. 新建主机组面板,单击确定

    image

  5. 新的主机组页面,单击添加新主机

    image

  6. 接入新主机面板,添加方式选择阿里云ECS,单击添加服务连接

    image

  7. 新建服务连接面板,单击服务授权/证书右侧的新建

    image

  8. 访问控制快速授权页面,单击确认授权

    image

  9. 授权完成后,在新建服务连接面板,单击创建

    image

  10. 接入新主机面板,选择目标地域,选择目标ECS实例,单击保存

    说明

    在左侧云产品资源列表中可查看云服务器ECS实例所在地域及实例ID。

    image

  11. 返回至流水线页签。在编辑面板,主机组选择您新创建的主机组。

    image

  12. 编辑面板中的部署配置区域,配置如下参数。

    参数说明:

    • 下载路径:该路径为配置Java构建任务步骤中打包的制品要被下载到您的主机上的路径。本示例为/home/admin/app/package.tgz

    • 执行用户:希望使用什么用户身份进行脚本执行。本示例为root

    • 部署脚本:在机器上执行脚本的具体内容。本示例为:

      yum -y install java
      mkdir -p /home/admin/application/
      tar zxvf /home/admin/app/package.tgz -C /home/admin/application/
      sh /home/admin/application/deploy.sh restart

    image

运行流水线并查看Java构建部署结果

  1. 流程配置页面,单击右上角的保存并运行

    image

  2. 运行配置对话框中,单击运行

    image

    返回如下页面,请您耐心等待流水线全部任务执行完成。

    image

  3. 在流水线运行页面,单击Java构建上传任务卡片上的日志,查看构建日志。

    image

    返回如下结果,可以查看流水线运行进度和结果。

    image

  4. 在流水线运行页面,单击主机部署任务卡片上的部署详情,查看部署详情。

    image

    返回如下结果,可以查看部署耗时、部署状态、日志等。部署状态为已完成即项目发布完成。

    image

  5. 测试服务。

    1. 云产品资源列表的安全组区域,单击管理

      image

    2. 访问规则区域的内网入方向中,单击增加规则

      image

    3. 新建安全组规则面板,访问来源选择我的IP访问目的输入8080端口,其他配置保持默认即可,单击确定

      重要

      添加端口时,访问来源建议选择您的本机IP地址

      image

    4. 打开您本机电脑的终端,执行如下命令。

      说明
      • 您需要将命令中的<ecs_ip_address>替换为ECS实例的公网地址。

      • 在左侧云产品资源列表中可查看云服务器ECS实例的公网地址。

      curl http://<ecs_ip_address>:8080/

      返回结果如下,您可以看到服务已经可以正常访问了。

      image

清理资源

  • 在完成实验后,如果无需继续使用资源,请根据以下步骤,先删除相关资源后,再结束实操,否则资源会持续运行产生费用。

    • 删除云原生API网关实例、AI API和插件。

      1. 登录流水线Flow控制台

      2. 我的流水线页面,找到目标流水线,选择其右侧的image图标 > 删除

        image

      3. 删除流水线对话框中,单击删除

        image

      4. 我的流水线页面,单击左下角的全局设置

        image

      5. 在左侧导航栏中,单击主机组管理

        image

      6. 主机组管理页面,单击目标主机组。

        image

      7. 在目标主机组页面,找到目标ECS实例,单击其右侧操作列下的删除

        image

      8. 在弹出的对话框中,单击确定

        image

      9. 在目标主机组页面,选择image图标 > 删除主机组

        image

      10. 在弹出的对话框中,单击确定

        image

    • 删除相关资源后,单击结束实操。在结束实操对话框中,单击确定

      image

  • 在完成实验后,如果需要继续使用资源,您可跳过释放相关资源的操作,直接单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。

    image