使用云效流水线部署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批
-
其余参数保持默认。
-
-
运行流水线
-
单击右上角保存并运行。
-
在弹出的运行配置面板中:
-
选择代码源的分支/标签。
-
(可选)输入运行备注。
-
-
单击运行,等待流水线运行完成。
流水线运行成功,三个阶段均显示通过:JavaScript代码扫描(测试阶段)、镜像构建并推送至ACR个人版(构建镜像阶段)、Serverless(SAE)应用发布(新阶段),总耗时约1分55秒。
-
查看日志:单击各个节点的日志。
-
查看发布单详情:单击Serverless(SAE) 应用发布节点的发布单详情。
变更详情页面显示执行状态为执行成功,变更类型为部署应用,描述信息为
Version: 2025-11-28-09-49-17 | Image Name: nodejs-helloworld,发布分批数为1,分批间处理方式为自动。第1批变更的部署流程依次包括初始化环境(0.92s)、初始化容器镜像服务网络(0.08s)、执行容器镜像服务网络同步(0.09s)、创建或更新部署配置(1.29s)、执行应用部署(22.72s)等步骤,各阶段均显示成功,总耗时约25秒。