type
Post
status
Published
date
Feb 5, 2026
slug
webstack-4
summary
第四篇(终章):DevOps 降临!看到那行
🗑️ [Deleted] weibo.com.webp,简直比看爽文还舒服。这意味着导航站已经有了**“生命”**——它能自己新陈代谢,自己打扫卫生了。这篇博文将汇聚所有的折腾成果,展示那个集“抓取、清理、部署、刷新”于一体的终极流水线。tags
开发
建站
category
技术分享
icon
password
前情提要:
- [第一集] 痛陈手动维护图标的血泪史。
- [第二集] 用 Python 给本地图标库来了次“降维打击”(WebP瘦身)。
- [第三集] 初步尝试 GitHub Actions,实现了“填链接自动抓图”。
但作为一个极致的折腾党,我发现还有两个痛点:
- 垃圾残留:删了链接,图标却还赖在文件夹里不走。
- 缓存时差:代码提交了,Cloudflare 缓存还没刷新,还要手动去点一下 Purge。
不能忍。
今天,我们将完成最后一块拼图,把所有脚本整合成一条**“全自动流水线” (Pipeline)**,实现真正的“自动驾驶”。
🧩 拼图一:赋予脚本“自洁”能力
只有“进货”没有“出货”的系统是不健康的。我修改了 Python 脚本,增加了**“反向比对”**逻辑:
每次抓取完新图标后,脚本会拿着最新的配置文件去扫描本地文件夹——凡是没被引用的 WebP 文件,统统杀无赦。
看看这行日志,多解压:
Plaintext
这意味着我以后删网站,再也不用担心留下电子垃圾了。
⛓️ 拼图二:流水线化 (Pipeline)
之前我有两个 Action,一个管图标,一个管缓存刷新。它们各跑各的,经常出现“缓存刷新了,但新图标还没部署上去”的尴尬时间差。
我决定把它们合并,利用 GitHub Actions 编排了一个严密的线性流程:
1. 生产阶段 🏭
运行 Python 脚本,下载新图标,删除旧图标。
2. 提交阶段 💾
如果文件有变动,机器人自动 Commit 并 Push 回仓库。
(这一步会自动触发 Cloudflare Pages 的构建)
3. 等待阶段 ⏳
强行
sleep 60s。这不是卡了,这是为了给 Cloudflare Pages 留出构建和分发的时间。
4. 刷新阶段 🧹
调用 Cloudflare API,清理 CDN 缓存。
📝 最终版 Workflow 代码
这是我的
.github/workflows/deploy-pipeline.yml,它就是整个系统的指挥官:YAML
🎉 完结撒花:一种生活方式
现在,我维护导航站的体验变成了这样:
- 打开
webstack.yml。
- 想加网站?写个 URL。
- 想删网站?删掉那一行。
- Git Push。
- 关机睡觉。
剩下的事情,GitHub 的服务器会帮我跑脚本,Google 会帮我提供图标,Python 会帮我转码压缩,Git 会帮我管理版本,Cloudflare 会帮我构建全球 CDN。
你看,折腾到最后,其实就是为了“不折腾”。
我们要做的,只是享受那个绿色的
Build Success,以及那个秒开的、属于自己的起始页。(全系列完)
- 作者:Leisurelywolf
- 链接:https://blog.869669.xyz//technology/webstack-4
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章

