唐莫盈

一个开发出身的DevOps工程师

反馈体系漫谈(四):即时通讯通知——Webhook 连接一切

在 DevOps 实际工作中,即时通讯工具(IM)是最常用的通知通道。构建成功没、部署完没、Pipeline 跑到哪一步了——这些日常信息,最适合在群里说一声。相比邮件的正式和短信的重度,IM 是“刚刚好”的那个。 IM 通知背后的核心技术是 Webhook——一个简单的 HTTP 回调机制,理解了这个,飞书、企业微信、钉钉、Slack 的通法都是一...

2023-09-02 feedback

反馈体系漫谈(二):邮件通知——最古老也最可靠的通道

在一堆即时通讯工具满天飞的今天,聊邮件通知似乎有点“过时”。但实际情况是——邮件仍然是 DevOps 中最基础、最正式的通知通道。构建报告、发布公告、定时周报,这些场景下,邮件有不可替代的优势。 更重要的是,邮件背后的 SMTP 协议,是所有通知系统中少数几个你真正需要理解协议原理的。理解了 SMTP,你就理解了“消息怎么被可靠地送出去”。

2023-08-19 feedback

反馈体系漫谈(一):从“看见问题”到“触发行动”

你有没有遇到过这种情况:CI 流水线挂了半小时,没有人发现,直到测试跑来问“包怎么还没出”?线上出了故障,靠用户截图才知道?发版完成了,群里吼一嗓子,结果该知道的人全错过了? 这些问题的本质都一样——你在该知道的时候,不知道。 这背后缺的是什么?不是监控。Prometheus 搭了,Grafana 大盘亮着,日志也收着。缺的是从“看见”到“行动”之...

2023-08-12 feedback

构建工具(十一):构建系统全景图——从 make 到 Bazel 该怎么选

1、先讲个故事 有个人想煮一碗面。 第一次,他烧了水、切了菜、下了面、调了酱。每一步都自己动手。这像手敲 gcc 命令。 后来他把步骤写在了便签上,每次照着做。这像写了个 shell 脚本。 再后来他发现,如果菜已经切好了,就不需要重新切。于是他在便签上加了判断。这像Makefile。 再后来他请了个厨师,只需要告诉厨师「我想吃面...

2023-08-05 build

构建工具(八):交叉编译——在你的 x86 电脑上编译 ARM 程序

1、你会遇到这个需求 某天,你可能会遇到这样的场景: 要在树莓派(ARM 架构)上跑一个程序,但树莓派性能太弱,直接在上面编译慢得令人发指 你是做嵌入式的,目标板是 ARM 芯片,根本没操作系统,更不可能在上面装编译器 你想给 Android 或 iOS 设备编一个 native 库 这时候你就需要交叉编译(cross compi...

2023-07-23 build