使用云效流水线构建镜像并部署SAE应用

使用云效流水线部署SAE应用,可以实现代码测试、构建镜像、分批或灰度发布SAE应用流程的自动化。

前置条件

  • 已完成组织创建,具体操作,请参见新建标准版组织

  • 已完成账号授权,确保该账号具有流水线创建相关权限。具体操作,请参见权限管理

  • 准备1ACR镜像仓库实例(企业版或个人版),作为云效流水线构建镜像后推送的目标。

  • 手动创建1SAE应用,作为云效流水线发布应用的目标。您可以参考部署第一个Serverless应用来快速创建一个应用。

上传源码到代码仓库

云效流水线支持多种代码仓库作为代码源。

将以下示例代码上传到您的代码仓库,用于快速体验流程:nodejs-helloworld.zip

完成本教程后,您可以上传业务代码(包含构建镜像所需的Dockerfile文件)来部署实际的应用。

配置流水线

步骤一:通过模板创建流水线

  1. 登录流水线 Flow控制台。

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

  3. 在弹出的选择流水线模板页面:

    1. 在顶部选择可视化编排

    2. 在左侧选择Node.js,然后选择Node.js · 测试、构建镜像模板。

    3. 单击创建,进入流水线的流程配置页面。

    image

步骤二:添加流水线源

  1. 流水线源区域,单击添加流水线源

  2. 在弹出的添加流水线源面板:

    1. 在左侧选择代码源

    2. 选择代码源:选择您的代码仓库类型,下文以Github为例。

    3. 单击添加服务连接

      1. 服务授权/证书:如果不存在则单击新建,根据页面提示创建服务授权/证书

      2. 单击创建

    4. 选择源码所在的命名空间仓库默认分支

    5. 开启代码源触发:开启后,代码上传将自动触发流水线执行,请参见代码源触发

    6. 单击添加

    image

步骤三:配置测试

  1. 测试区域,单击JavaScript 代码扫描

    1. 构建集群:若您的代码库处于境内,建议选择云效北京构建集群云效杭州构建集群;若处于境外,建议选择云效中国香港构建集群

    2. 指定构建节点:选择Linux/amd64

    3. 构建环境:选择指定容器环境

    4. 容器镜像地址:选择build-steps/alinux3

    5. 任务步骤:本示例执行默认的JavaScript代码扫描。实际场景中可根据需求配置。

    image

  2. 测试区域,单击Node.js 单元测试

    1. 本示例无需单元测试,单击顶部的删除按钮即可。实际场景中可根据需求配置。

    2. 单击确定

步骤四:配置构建镜像

  1. 构建镜像区域,单击镜像构建并推送至ACR个人版

  2. 在弹出的面板中配置以下信息:

    1. 构建集群:若您的代码库和依赖的基础镜像处于境内,建议选择云效北京构建集群云效杭州构建集群;若处于境外,建议选择云效中国香港构建集群

    2. 指定构建节点:选择Linux/amd64

    3. 构建环境:选择指定容器环境

    4. 容器镜像地址:选择build-steps/alinux3

    5. 任务步骤:下文以镜像构建并推送至ACR(个人版)为例。如果是ACR企业版实例,则删除默认步骤,然后单击添加步骤,选择构建 > 镜像构建并推送至ACR(企业版)

    6. 单击添加服务连接

      1. 服务授权/证书:如果不存在则单击新建,根据页面提示创建服务授权/证书

      2. 单击创建

    7. 选择目标镜像仓库所在的地域,然后选择仓库

    8. 标签:设置为${DATETIME},表示根据日期时间自动生成镜像的标签。

    9. Dockerfile 路径:设置为Dockerfile,表示Dockerfile文件在代码仓库的根目录中。

    10. 镜像缓存:本示例选择不使用缓存

    11. 其余参数保持默认。

    image

步骤五:配置SAE应用发布

  1. 新阶段区域,单击新的任务

  2. 在弹出的面板中,在搜索框中输入SAE,选择Serverless(SAE) 应用发布

    1. 构建集群:若您的镜像仓库处于境内,建议选择云效北京构建集群云效杭州构建集群;若处于境外,建议选择云效中国香港构建集群

    2. 指定构建节点:选择Linux/amd64

    3. 构建环境:选择指定容器环境

    4. 容器镜像地址:选择build-steps/alinux3

    5. 单击添加服务连接

      1. 服务授权/证书:如果不存在则单击新建,根据页面提示创建服务授权/证书

      2. 单击创建

    6. 选择目标SAE应用所在的地域命名空间,然后选择SAE应用

    7. 构建产物:选择镜像构建并推送至ACR(个人版).镜像公网地址镜像构建并推送至ACR(企业版).镜像公网地址

    8. 如果是ACR企业版实例,则勾选使用阿里云镜像仓库企业版,并填写ACR(企业版)实例ID

    9. 配置发布策略及其参数:本示例采用以下配置,更多信息请参见分批发布应用灰度发布应用

      1. 发布策略分批发布

      2. 分批方式自动确认

      3. 发布批次1

      4. 其余参数保持默认。

    image

运行流水线

  1. 单击右上角保存并运行

  2. 在弹出的运行配置面板中:

    1. 选择代码源分支/标签

    2. (可选)输入运行备注

  3. 单击运行,等待流水线运行完成。

    image

  4. 查看日志:单击各个节点的日志

  5. 查看发布单详情:单击Serverless(SAE) 应用发布节点的发布单详情

    image