自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (1)
  • 收藏
  • 关注

原创 流水线该画在画布上,还是写进仓库里?自托管 CI/CD 的两种范式

自托管 CI/CD 的流水线定义该放可视化画布,还是写进仓库 yaml?本文讲两种范式的取舍,以及同一项目同时支持两者时「一次运行只听一个源」的机制:每项目开关、按分支读 .pipewright.yml、出错静默回退与运行来源徽章。

2026-07-08 22:51:35 424

原创 不用 K8s,自托管也能零停机部署 + 一键回滚(拆开没那么玄)

自托管部署最尴尬的一刻,是你敲下的那几秒——服务对外就是一串 502。用户刚好在这个窗口点进来,看到的就是一个大红页面。回滚更狼狈:线上出事了,你手忙脚乱翻「上一个能用的镜像 tag 是哪个来着」,或者git log里瞪着一串 SHA 猜哪个是上次好的版本。小团队、homelab、内网服务,大多没有 K8s 那套滚动更新 + 一键回滚。是不是就只能忍这个窗口?我一开始也这么以为。这篇讲清楚里面的门道。

2026-07-01 22:38:45 459

原创 自托管也想要 Vercel 那种 Per-PR 预览环境?其实没那么玄

Per-PR 预览环境对自托管不是遥不可及的平台魔法,它本质就是泛域名证书 + 一条动态反代路由 + 一个定时回收。本文拆解这三块如何串成「每个 PR 一个独立预览链接、合并自动回收」的自动流程。

2026-06-26 23:05:12 336

原创 自托管服务的 HTTPS,别再手搓 nginx + certbot 了:Caddy 自动证书 + DNS-01 泛域名实操

凡是玩过自托管(homelab、内网服务、小团队自建工具)的人,大概都经历过这套折磨:服务跑起来了,想挂个域名上 HTTPS。仓库:https://github.com/huangchengsir/pipewright不过就算你不用它,这篇的核心还是那句话:**自托管的 HTTPS 别再手搓 nginx + certbot 了。## 四、后来我把这套也打包了道理都懂,但每加一台机器、每挂一个新服务,都要重构建带插件的 Caddy、写 Caddyfile、配 DNS token、记哪个子域名指向哪个后端……

2026-06-22 22:48:15 266

原创 自托管别急着上 ArgoCD —— git + docker compose 的「够用版」GitOps

你想要的那点GitOps 价值——「git 仓库是唯一真相源,改了就自动上线,能回滚,有记录」——用 git +docker compose 二十行脚本就能拿到 90%,而且没有控制平面要维护。),发现跟踪的分支动了,就跑:```bashgit pull --ff-onlydocker compose pulldocker compose up -d --remove-orphans````–remove-orphans。:系统的期望状态写在 git 里(对自托管来说,就是你的。

2026-06-18 21:49:15 248

原创 受够了 Jenkins + Ansible + Portainer 三件套,我用一个 Go 二进制把它们合了

我手头有几台小 VPS,跑一些自己的副业项目。

2026-06-17 23:02:59 549

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除