使用云效流水线部署SAE应用,可以实现代码测试、构建镜像、分批或灰度发布SAE应用流程的自动化。
前置条件
已完成组织创建,具体操作,请参见新建标准版组织。
已完成账号授权,确保该账号具有流水线创建相关权限。具体操作,请参见权限管理。
准备1个ACR镜像仓库实例(企业版或个人版),作为云效流水线构建镜像后推送的目标。
手动创建1个SAE应用,作为云效流水线发布应用的目标。您可以参考部署第一个Serverless应用来快速创建一个应用。
上传源码到代码仓库
云效流水线支持多种代码仓库作为代码源。
将以下示例代码上传到您的代码仓库,用于快速体验流程:nodejs-helloworld.zip。
完成本教程后,您可以上传业务代码(包含构建镜像所需的Dockerfile文件)来部署实际的应用。
配置流水线
步骤一:通过模板创建流水线
登录流水线 Flow控制台。
在我的流水线页面,单击右上角新建流水线。
在弹出的选择流水线模板页面:
在顶部选择可视化编排。
在左侧选择Node.js,然后选择Node.js · 测试、构建镜像模板。
单击创建,进入流水线的流程配置页面。

步骤二:添加流水线源
在流水线源区域,单击添加流水线源。
在弹出的添加流水线源面板:
在左侧选择代码源。
选择代码源:选择您的代码仓库类型,下文以Github为例。
单击添加服务连接:
服务授权/证书:如果不存在则单击新建,根据页面提示创建服务授权/证书。
单击创建。
选择源码所在的命名空间、仓库、默认分支。
开启代码源触发:开启后,代码上传将自动触发流水线执行,请参见代码源触发。
单击添加。

步骤三:配置测试
在测试区域,单击JavaScript 代码扫描:
构建集群:若您的代码库处于境内,建议选择云效北京构建集群或云效杭州构建集群;若处于境外,建议选择云效中国香港构建集群。
指定构建节点:选择Linux/amd64。
构建环境:选择指定容器环境。
容器镜像地址:选择build-steps/alinux3。
任务步骤:本示例执行默认的JavaScript代码扫描。实际场景中可根据需求配置。

在测试区域,单击Node.js 单元测试:
本示例无需单元测试,单击顶部的删除按钮即可。实际场景中可根据需求配置。
单击确定。
步骤四:配置构建镜像
在构建镜像区域,单击镜像构建并推送至ACR个人版。
在弹出的面板中配置以下信息:
构建集群:若您的代码库和依赖的基础镜像处于境内,建议选择云效北京构建集群或云效杭州构建集群;若处于境外,建议选择云效中国香港构建集群。
指定构建节点:选择Linux/amd64。
构建环境:选择指定容器环境。
容器镜像地址:选择build-steps/alinux3。
任务步骤:下文以镜像构建并推送至ACR(个人版)为例。如果是ACR企业版实例,则删除默认步骤,然后单击添加步骤,选择。
单击添加服务连接:
服务授权/证书:如果不存在则单击新建,根据页面提示创建服务授权/证书。
单击创建。
选择目标镜像仓库所在的地域,然后选择仓库。
标签:设置为
${DATETIME},表示根据日期时间自动生成镜像的标签。Dockerfile 路径:设置为
Dockerfile,表示Dockerfile文件在代码仓库的根目录中。镜像缓存:本示例选择不使用缓存。
其余参数保持默认。

步骤五:配置SAE应用发布
在新阶段区域,单击新的任务。
在弹出的面板中,在搜索框中输入
SAE,选择Serverless(SAE) 应用发布:构建集群:若您的镜像仓库处于境内,建议选择云效北京构建集群或云效杭州构建集群;若处于境外,建议选择云效中国香港构建集群。
指定构建节点:选择Linux/amd64。
构建环境:选择指定容器环境。
容器镜像地址:选择build-steps/alinux3。
单击添加服务连接:
服务授权/证书:如果不存在则单击新建,根据页面提示创建服务授权/证书。
单击创建。
选择目标SAE应用所在的地域、命名空间,然后选择SAE应用。
构建产物:选择镜像构建并推送至ACR(个人版).镜像公网地址或镜像构建并推送至ACR(企业版).镜像公网地址。
如果是ACR企业版实例,则勾选使用阿里云镜像仓库企业版,并填写ACR(企业版)实例ID。
配置发布策略及其参数:本示例采用以下配置,更多信息请参见分批发布应用、灰度发布应用。
发布策略:分批发布
分批方式:自动确认
发布批次:1批
其余参数保持默认。

运行流水线
单击右上角保存并运行。
在弹出的运行配置面板中:
选择代码源的分支/标签。
(可选)输入运行备注。
单击运行,等待流水线运行完成。

查看日志:单击各个节点的日志。
查看发布单详情:单击Serverless(SAE) 应用发布节点的发布单详情。
