---
# System prepended metadata

title: "\U0001F680 初學者也能懂的 Cloud Run CI/CD：把程式變成一個網址"
tags: [更新上部落格]

---



# 🚀 初學者也能懂的 Cloud Run CI/CD：把程式變成一個網址

在這個 AI 工具爆炸的時代，很多人開始用 **Cursor、v0.dev** 甚至 ChatGPT 來快速寫出一個 Side Project。
程式寫完很快，但接下來的問題是：

👉「我寫好的東西，怎麼變成一個網址，讓朋友隨時點開就能用？」

相信很多人都有這種感覺：程式在自己電腦上跑得好好的，但只要想到「要讓別人也能打開來用」，腦袋就瞬間當機。
其實，這正是 **CI/CD（持續整合 / 持續部署）** 要幫你解決的事。

而在 Google Cloud 平台裡，最簡單、最適合新手的工具就是 **Cloud Run**。

這篇文章不會塞滿你一堆難背的指令，而是用 **便當盒 + 冰箱 + 攤位** 的比喻，帶你從零開始理解 Cloud Run 的 CI/CD。
讀完之後，你會對 CI/CD 有一個清楚的腦中畫面，知道它背後的邏輯，也能理解怎麼做才能讓專案部署得更安全、更穩定。

---

## 🍱 1. CI/CD 是什麼？為什麼要學？

CI/CD 聽起來像是資深工程師才會用的專業術語，但如果換個比喻就很單純。

* **CI（Continuous Integration, 持續整合）**
  就是把你寫的程式自動檢查、打包成「可以跑的東西」。
  想像一下：你煮了一份便當，把菜和飯都裝到盒子裡，蓋好蓋子，放進冰箱保存。

* **CD（Continuous Deployment, 持續部署）**
  就是自動把冰箱裡的便當端到攤位上，顧客來了就能吃到。
  這樣你不用每次都手動煮飯、手動擺盤。

簡單來說：
👉 **CI/CD = 自動把程式變成便當，放進冰箱，再交給 Cloud Run 擺到攤位上，顧客只要點網址就能吃到。**

---

## 🏪 2. 為什麼要三個攤位？

如果你只有一個攤位（正式環境），那出問題的時候怎麼辦？
所以專案裡常常會有三個「環境」：

* **DEV（開發環境）**
  就像廚師自己的試吃攤。想怎麼煮就怎麼煮，炸掉也沒關係。

* **QAT（測試環境）**
  給同事或 QA 驗證的地方。品質要比 DEV 穩定，但還是允許小錯誤。

* **PRD（正式環境）**
  正式開放給顧客的攤位。這裡必須最穩，不可以炸掉。

這樣的設計可以保證：**就算 DEV 爆炸，PRD 依然安全運行。**
對一個團隊來說，這是最基本的風險控管。

---

## 🎨 3. 一張圖看懂 CI/CD

![ChatGPT Image 2025年9月18日 上午10_15_23](https://hackmd.io/_uploads/Sk5xYt9oxe.jpg)

看圖就懂了：

1. **廚師（工程師）**：寫完程式 → 打包成「便當盒」
2. **冰箱（Artifact Registry）**：把便當放好，保存起來
3. **GitHub Actions**：自動決定要送到哪個攤位（DEV / QAT / PRD）
4. **Cloud Run 攤位**：自動上菜，攤位隨時待命
5. **使用者**：點網址，就能看到服務跑起來

👉 這整套流程就是 CI/CD：從寫程式，到別人能透過網址使用，完全自動化。

---

## 🔒 4. 安全怎麼辦？

很多初學者部署時會遇到一個問題：

「我的資料庫怎麼連？金鑰要放哪裡？會不會不小心外流？」

在 Cloud Run 裡，有兩個必學的招式：

### 🪪 OIDC / Workload Identity

不用再把金鑰硬塞進 GitHub 或程式碼裡。
你可以讓 GitHub Actions 透過 **OIDC（OpenID Connect）**，直接跟 Google Cloud 建立「臨時員工證」。
這樣 GitHub 就能合法地去開冰箱、上菜，而不用拿著一把永遠不會過期的鑰匙。

### 🔌 VPC Connector

如果你的程式需要連接公司的資料庫，可以用 VPC Connector。
它就像幫 Cloud Run 接了一條「內線電話」，讓它可以直接打到公司內部，不需要繞外面的公用馬路（公網 IP）。

👉 結論：自動化部署不等於放棄安全，兩者是可以兼顧的。

---

## ✅ 5. 成果長什麼樣？

當整套流程完成後，你會得到：

* 三個固定網址（DEV / QAT / PRD），分工清楚
* API 會有 `/health` 健康檢查，隨時能驗證服務是否正常
* 如果新版本有 bug，可以一鍵回滾，瞬間切回舊版本

這就像有三個攤位：你可以隨時檢查攤位是不是還在營業；
如果新菜色不合胃口，也能馬上換回上一道菜。

---

## 💡 6. 為什麼這麼重要？

對很多剛開始做 Side Project 的人來說，部署常常是「最後一哩路」，卻也是最頭痛的一步。
有了 Cloud Run + CI/CD：

* 你不用再手動部署（省時間）
* 你不用再擔心爆掉（多環境保護）
* 你不用再怕金鑰外流（安全設計）

更重要的是，這個流程是一個 **可以延伸** 的基礎。
未來你要加 **灰度釋出（A/B 測試）**、**自動回滾**、**成本優化**，都能在這個基礎上實現。

---

## ✨ 7. 結語

CI/CD 聽起來很複雜，但只要用「便當模型」來理解，就會變得非常直覺：

👉 **程式 = 便當 → 放冰箱 → Cloud Run 擺攤 → 使用者點網址就能用**

所以，下次當你用 Cursor 或 AI 工具快速寫好一個專案時，別再苦惱「怎麼讓別人用」。
只要這套 CI/CD 流程在手，你就能快速、穩定又安全地把專案變成一個網址，分享給任何人 🚀

未來，當你漸漸熟悉後，還能加上灰度釋出、自動回滾、監控與成本優化。
但第一步，從 Hello World + Cloud Run 開始就好。

**祝你的第一個「專屬網址」，順利上線！** 🎉

---


###### tags: `更新上部落格`