個人接案者的最小可行 SRE:用 GitHub + Cloudflare 自動化的發布流

不是每個專案都需要完整的 GitOps + Kubernetes。對個人 SRE 接案來說,「能跑、能版控、能回滾」三件事就夠。本文整理我自己在用的最小工作流。

  • #DevOps
  • #SRE
  • #CI/CD
  • #GitHub Actions
  • #Cloudflare

「最小可行」不是「能用就好」,而是「砍掉所有可砍的、剩下的都是必須」。

我幫客戶做維運諮詢時最常被問:「我們公司想做 DevOps,是不是要先導 Kubernetes 加 ArgoCD 加 Prometheus?」。我的答案幾乎都是反問:「你們現在連自動部署都還沒有嗎?」。

對個人接案、小團隊、未上市規模的客戶,導 Kubernetes 是用大砲打小鳥。本文整理我自己在 elongma.tech 與幾個客戶專案上實際跑的最小工作流,三個元件、零基礎設施成本。

元件一:GitHub 作為 SoT(Source of Truth)

不只是程式碼放 GitHub,所有可程式化的東西都進 GitHub

  • 程式碼
  • 基礎設施配置(Terraform / Pulumi 或本文後述的 wrangler 配置)
  • CI/CD 設定(.github/workflows/
  • 規格文件(OpenSpec change 也是 git-managed)
  • 部署 secret(用 GitHub Encrypted Secrets,不要塞 env file)

唯一不進 git 的是:客戶的真實憑證、生產資料。這兩樣放進 GitHub 等於資安事故等著發生。

元件二:Cloudflare 作為部署 / 邊緣 / DNS / SSL 一條龍

CF 在 2024 後越來越像「邊緣作業系統」:

需求CF 對應產品月費
靜態網站Pages$0
API / SSRWorkers$0 起
DBD1$0 起
KV / CacheKV / Cache API$0 起
物件儲存R2$0 起(無 egress 費)
DNS / SSLDNS / Universal SSL$0
WAF / DDoS內建$0
Email RoutingEmail Routing$0

對個人接案規模,全部在 free tier 跑得下去。最重要的是「沒有要管的伺服器」這件事 — 沒有 OS patch、沒有 SSH 密鑰要輪換、沒有防火牆規則要寫。

元件三:GitHub Actions 不一定要寫

很多人以為「自動化 = 寫 GitHub Actions YAML」。但 CF Pages 的 Git 整合已經內建了 push → build → deploy 的工作流,連 YAML 都不用寫:

  1. 在 CF dashboard 連 GitHub repo
  2. 設 build command(如 pnpm build
  3. 設 build output directory(如 dist
  4. 完成

每次 git push 到 main 就自動部署。每個 PR 自動產出 preview URL。這就是工作流

什麼時候才寫 GitHub Actions?

  • Build 前需要外部資源(如從 Notion 拉內容、從 CMS 同步資料)
  • CI 需要跑測試或 lint(Astro check、ESLint、Vitest)
  • 多階段部署(dev → staging → prod,且 staging 在不同 CF 帳號)
  • schedule 自動化(每天凌晨 rebuild)

對只是「程式碼推上去 → 網站更新」的場景,CF Pages 的 Git 整合就夠。少寫一份 YAML 就少一個出錯的點。

回滾機制:CF Pages Deployments 比你想的好

意外把錯版本推上去,不需要 git revert 再 push 等 build 跑完。CF Pages 的 Deployments 頁面可以直接 rollback 到任何歷史版本,秒級切換流量。

這個是很多人沒注意但生產級 SRE 的關鍵能力:把「回滾」從「需要工程介入」降為「dashboard 點兩下」。客戶在凌晨網站爆了,你能 30 秒搞定的價值遠超過月費。

監控:Cloudflare Web Analytics + UptimeRobot

最小工作流的監控也最小:

  • Cloudflare Web Analytics:免費、無 cookie、無需 GA。流量、Core Web Vitals 都看得到。
  • UptimeRobot 免費版:5 分鐘探測一次,網站掛了會 email / Telegram 通知。
  • CF Pages 內建 build 失敗通知:build error 自動發 email。

不需要 Datadog、不需要 New Relic、不需要自架 Prometheus。當網站本身只有一個前端 + 邊緣資源時,這三件套夠了。

什麼情況下這個最小工作流會失效?

老實說:

  • 客戶有 SSR / 動態 backend:要導 Workers 或外接 API,工作流複雜度升一級
  • 多人協作 + 強制 review:要加 GitHub branch protection + required checks
  • 合規要求(SOC 2 / ISO 27001):需要審計日誌、變更紀錄、權限控管,CF 的 audit log 要付費
  • 預算不是問題:那就上完整 IaC 與 GitOps,沒人攔你

結語

DevOps 不是工具堆疊比賽。對個人接案與小團隊客戶,「能跑、能版控、能回滾」是最該優先的三件事,其餘都是後話。我目前的客戶有用這套工作流跑 1-2 年的,零 incident、零基礎設施帳單。

如果你想了解這套工作流如何套用到你的專案,歡迎聯絡諮詢