如何在GCP发布新公共镜像时获取邮件通知或触发器?
GCP公共镜像更新自动通知/流程触发方案
GCP原生就支持这类需求,完全可以做到Windows、RHEL等官方公共镜像发布新版本时自动发邮件提醒、甚至直接触发你团队的Golden Image制作流程,不需要自己写脚本轮询爬镜像页面。
具体实现方式
- 事件驱动实时触发方案(推荐)
用GCP自带的Eventarc服务就行,直接新建事件触发器,监听系统事件类型compute.images.insert,再加上筛选条件:把事件对应的镜像所属项目限定为官方公共镜像所在的项目——比如Windows官方镜像都在windows-cloud项目下,RHEL的都在rhel-cloud项目下,其他发行版的公共镜像也都有对应的官方归属项目,按需加筛选就行。新镜像发布的事件会自动推送到你绑定的Pub/Sub消息主题。 - 后续动作对接
Pub/Sub收到事件后可以直接对接两类常用动作:- 对接Cloud Function或者Cloud Run,写简单的逻辑调用邮件服务(不管是第三方邮件服务还是你们企业内部的邮件接口),自动给团队发更新提醒,邮件里可以直接带上新镜像的版本、发布时间、完整镜像路径,不用人工查信息
- 直接对接你们现有的Golden Image制作流水线,不管是跑在Cloud Build还是自建的Jenkins上,都可以通过Pub/Sub消息直接触发流水线启动,省掉人工盯版本、手动开任务的步骤
- 轻量简易方案
如果觉得搭事件链路麻烦,用Cloud Scheduler配个定时任务就行,比如每天固定时间跑一次轻量脚本,调用Compute Engine的镜像列表接口拉取你关注的几个官方项目下的最新镜像,和本地存的上次同步的版本号做比对,发现有新版本就发通知、触发流程。毕竟官方公共镜像是固定每月更新,天级的轮询完全够用,配置成本更低。
配置的时候记得一定要加项目ID的筛选规则,别全量监听所有镜像创建事件,不然你们自己项目里建自定义镜像的时候也会触发事件,平白多出很多无效通知和误触发的流程。
内容的提问来源于stack exchange,提问作者Don Wick
相关产品推荐
相关产品推荐

