将镜像部署到SAE后,如果镜像升级版本,通常需要手动部署新版镜像。为提高运维效率,您可以通过事件总线实现镜像的持续部署。
方案概览
创建事件总线:当事件执行时,会将镜像部署到SAE。
创建触发器:在镜像仓库创建触发器,并绑定事件总线的事件源。当镜像被推送到镜像仓库时,会触发事件。
验证结果。
前提条件
已将镜像推送到镜像仓库并部署到SAE,本文中的镜像仓库以容器镜像服务ACR个人版为例。
1. 创建事件总线
进入事件总线控制台,在事件总线页面,切换到应用所在的地域,在自定义事件总线区域,单击快速创建。
在总线中,填写自定义事件总线名称,其余参数保持默认。单击下一步。
在事件源中,根据如下说明配置参数,其余参数保持默认。单击下一步。
在规则中,您可以自定义规则名称,其余参数保持默认。单击下一步。
在目标中,根据如下说明配置参数,其余参数保持默认。单击创建。
配置项
示例
说明
服务类型
Serverless 应用引擎 (acs.openapi.sae)
选择云产品接口触发中的Serverless 应用引擎
接口参数 - AppID
填写目标应用的应用ID
如需查看应用ID,您可以在SAE控制台的 页面,单击应用名称,在基本信息页面的应用信息区域查看。
接口参数 - PackageType
Image
表示应用部署类型为通过镜像部署。
接口参数 - ImageUrl
选择类型为模板。
变量中填写
{"tag": "$.data.body.push_data.tag"}
。模板的填写格式为
镜像仓库地址:${tag}
。如需查看镜像仓库地址,您可以在容器镜像服务ACR控制台的镜像仓库页面,单击仓库名称,在基本信息页面的公网地址中查看。
角色配置
选择具有管理SAE权限的RAM角色。
如果没有可选角色,请单击授权创建新角色,并在弹出的页面中,为角色授予AliyunSAEFullAccess权限。
2. 创建触发器
3. 验证结果
更新镜像并推送到镜像仓库,可以验证新版镜像已成功部署到SAE。您也可以验证如下信息:
进入容器镜像服务控制台,在 页面,单击镜像仓库。在触发器页面,查看触发器的访问记录。验证推送镜像时,触发器已被触发。
进入事件总线控制台,在事件总线页面,找到已创建的事件总线,在操作列单击事件追踪。设置查询范围并单击查询。在查询结果中,查看事件轨迹,验证事件已成功执行。
进入Serverless应用引擎控制台,在 页面,单击已部署的应用。在变更记录页面,验证新版镜像已部署成功。