不要再「我這會動」,包起來到哪都會動 Cloud Run 讓你的 AI App 給大家用

2026/08/01 前置工作坊

Denny Huang

https://denny.one/DevJam-TW-2026/

Denny Huang

今天的終點

Service URL: https://...run.app

開啟網址,讓 Gemini 回應

GSP1229

Utilize the Streamlit Framework with Cloud Run and the Gemini API in Agent Platform

Start Lab → 無痕視窗 → 臨時帳號 → Cloud Console

檢核點

  • Lab timer 正在倒數
  • 已進入中文 Cloud Console
  • 使用 lab 提供的臨時帳號

不是個人 Google 帳號

Cloud Shell

Cloud Storage → gemini-streamlit-cloudrun/
  1. 開啟右上角的 Cloud Shell
  2. 依 lab 指令下載 source
  3. 進入 project directory

gemini-streamlit-cloudrun/

Source 已到 Cloud Shell

看到 project directory,再往 Configuration

Configuration

  1. 替換 Gemini model IDs / names
  2. 建立 Python virtual environment、安裝 dependencies
  3. 設定 GOOGLE_CLOUD_PROJECTGOOGLE_CLOUD_REGION

Streamlit ↔ Gemini API

Input → Streamlit → Gemini API in Agent Platform → Streamlit → Output

GOOGLE_CLOUD_PROJECT + GOOGLE_CLOUD_REGION

App 要連到哪個 project、哪個 region

Build container image

  1. 建立 gemini-repo
  2. 執行 gcloud builds submit
  3. 等待 build 完成

Source → Container image

Cloud Build Artifact Registry Cloud Run
build image 保存 image 執行 image

同一個 image,可以被重複部署

檢核點

STATUS  SUCCESS
IMAGES  .../gemini-repo/gemini-streamlit-app

看到 SUCCESS 和 image,再往 Cloud Run

Deploy to Cloud Run

  1. 執行 lab 的 gcloud run deploy
  2. 等待 service 建立
  3. 找到 Service URL

Container image → Cloud Run

Container image → Revision → Service URL

Cloud Run:執行 image、接收 request、提供 URL

檢核點

Deploying new service... Done.
serving 100 percent of traffic
Service URL: https://...run.app

先找到自己的 Service URL

Service URL

  1. 開啟 URL
  2. 選擇功能
  3. 輸入內容
  4. 確認 Gemini 回應

檢核點

Browser → Streamlit → Gemini API → Response
  • App 可以開啟
  • Gemini 有回應

Check my progress

Build and Deploy the Application to Cloud Run
100 / 100

「我這會動」→ 給大家用

Source → Cloud Build → Container image → Artifact Registry → Cloud Run → URL
  • Container image:包起來
  • Cloud Run:跑起來

Q & A

Thanks for listening



本投影片採用

創用 CC「姓名標示-相同方式分享 4.0 國際」授權條款釋出
Marp 製作

Google tag (gtag.js)

先讓學員看見終點,不先展開產品定義。

約 7 分鐘。 Lab timer 啟動後無法暫停;只使用 lab 提供的臨時帳號。

有人尚未完成登入就先停下來,不讓操作環境從這裡分岔。

約 5 分鐘。 Cloud Shell 是瀏覽器裡的 terminal;不逐行解釋下載指令。

用目錄名稱同步全場位置,不增加額外檢查 command。

約 9 分鐘。 照 lab 執行完整指令;投影片只保留三個設定結果,不做 app.py code walkthrough。

Streamlit 提供畫面與互動;Gemini API 提供生成能力。 沿用 lab 的 Agent Platform 名稱,不展開 Vertex AI。

約 12 分鐘。 照 lab 操作,不在投影片重抄完整 command。 等待 Cloud Build 時切到下一頁說明 container image。

Cloud Build 負責 build;Artifact Registry 保存 image;Cloud Run 執行 image。 Container image 是 build 與 run 之間的交付物,不展開 container 內部實作。

若 build 尚未完成,先停在這裡,不讓全場進度分岔。

約 9 分鐘。 完整參數以 lab 為準,不在投影片重抄 deploy command。

Revision 是這次部署建立的版本。 只說明這次操作會遇到的角色,不延伸 autoscaling、networking 或 production 設定。

部署失敗或尚未完成的人留在這頁處理,不先進入 App。

約 6 分鐘。 以實際畫面操作為主,不導讀 app.py。

讓學員用自己的輸入確認,不只確認網頁載入成功。

約 5 分鐘,包含最後回看。 未取得分數時回到 build、deploy 與 Service URL 三個檢核點定位。

最後用實際走過的 artifact 與 state change 收束,不再增加新概念。