本文介绍如何使用云效以镜像方式将Golang语言的应用部署至Serverless 应用引擎 SAE(Serverless App Engine)。
前提条件
已将业务代码上传至代码库,且业务代码中需包含应用的Dockerfile文件。
背景信息
如果您首次使用云效,请先了解云效的部署流程以及SAE支持的部署方式。具体信息,请参见云效2020部署SAE应用与任务模板概览。
步骤一:在SAE创建应用
如果您是第一次使用SAE托管应用,需要预先在SAE控制台创建相应的应用。SAE支持代码包部署和镜像部署。应用的部署方式必须与流水线的配置保持一致。
步骤二:在云效创建企业
第一次使用云效Flow,您需要在云效上创建您的企业。如果已经创建企业,您可以跳过该步骤。
登录云效Flow。
设置企业名称并选择研发组织规模,单击立即创建。
步骤三:在云效创建流水线
登录云效Flow。
在流水线Flow页面右上角,单击新建流水线。
在选择流水线模板对话框中,选择空模板·空模板,单击创建。
在流水线的编辑页面,单击添加流水线源,在添加流水线源面板的左侧导航栏,选择代码源,在右侧区域,配置代码源信息,然后单击添加。
配置项
说明
选择代码源
选择业务代码所在的代码源。
说明不同代码源需要配置的参数不同,请根据实际界面配置。
代码仓库
选择代码仓库地址。
默认分支
选择代码分支。
步骤四:在云效部署应用至SAE
本步骤将SAE上的应用升级为含有您业务代码的应用。
在阶段1区域,单击空任务,在编辑面板,自定义任务名称,选择构建集群、指定构建节点、构建环境和下载流水线源。
单击添加步骤,从下拉列表中选择 ,配置镜像信息,然后单击仅保存。
本文以个人版实例为例,配置项说明如下。
配置项
说明
选择服务连接
选择服务连接,使ACR能够储存镜像。
说明如果您从未连接过,请先单击添加服务连接,根据跳转完成阿里云RAM授权后再进行相应配置。
地域
选择步骤一所创建的应用所在地域。
仓库
选择镜像构建完成或推送的仓库地址。
标签
自定义的标签名称。
Dockerfile路径
Dockerfile文件所在路径。
ContextPath
docker build命令执行上下文路径。不填则默认为Dockerfile路径。
不使用缓存
选择后,docker build将使用
no-cache=true
参数进行镜像构建。构建参数
运行构件时会以
--build-arg
的形式传递到build命令中的一组参数,您可以根据实际需要配置。在新阶段区域,单击新的任务,选择Serverless(SAE)应用发布。
在编辑面板,配置任务信息,单击仅保存。
配置项
说明
任务名称
自定义的任务名称。不可超过20个字符。
构建集群
可以为任务选择不同的构建集群。
下载流水线源
开启下载流水线源后,配置流水线源的源文件将会被下载至对应的工作目录下。
选择服务连接
选择任务的服务授权,使云效能在SAE上部署应用。
说明如果您从未连接过,请先单击添加服务连接,根据跳转完成阿里云RAM授权后再进行相应配置。
地域
选择步骤一所创建的应用所在地域。
命名空间
选择步骤一所创建的应用所在命名空间。
SAE应用
选择步骤一所创建的应用。
构建产物
选择步骤四所创建的标签名称。
发布策略
可选择分批发布或灰度发布。
分批方式
可选择手动确认或自动确认。例如,如需在完成第一批发布时先观察发布结果再决定后续操作,则可选择手动确认。
灰度台数
仅当发布策略为灰度发布时,需要配置。要执行灰度发布的机器数量。
发布批次
发布分批的数量。
分批等待时间
相邻发布批次之间的等待时间。
最小可用实例数
最小可用实例数必须小于应用实例数。
任务插件
您可以根据需要配置任务插件来发送流水线通知。
钉钉机器人通知插件:具体操作,请参见钉钉机器人发送群消息。
邮件通知:输入邮件地址,多个地址间使用分号(;)分隔。
Webhook通知插件:具体操作,请参见使用Webhook插件发送通知。
企业微信群通知:具体操作,请参见企业微信机器人发送群消息。
飞书群通知:具体操作,请参见飞书机器人发送群消息。
在运行配置对话框,确认配置信息,单击运行。