Part 8:雲端部署準備

認識雲端平台與部署流程

實作步驟教學

使用鍵盤 ← → 或點擊下方按鈕切換投影片

為什麼需要雲端部署?

🖥️ 地端(本機)

  • 只有你能使用
  • 電腦關機就停止
  • 無法分享給別人
  • 效能受限於個人電腦

☁️ 雲端

  • 任何人都能訪問
  • 24 小時不間斷
  • 有固定網址可分享
  • 可依需求擴展
雲端部署讓你的應用從「個人專案」變成「可分享的服務」!

三大免費雲端平台

🌿 Render

平衡性能與易用性

免費方案 自動部署 適合 Flask

▲ Vercel

前端優化的首選

全球 CDN 超快速度 適合前端

🚂 Railway

開發者友善的新星

整合資料庫 簡潔介面 適合全端

Render:初學者首選

優點

  • 免費方案:750 小時/月(約一個月全天候運行)
  • 自動從 GitHub 部署
  • 支援 Python、Flask、Django
  • 自動 HTTPS 加密
  • 環境變數管理方便
免費應用會在沒有流量時休眠,第一次訪問需要幾秒喚醒
網址:render.com

Vercel:前端專家

優點

  • 全球 CDN,載入超快
  • 無限部署次數
  • 100GB 免費頻寬
  • 即時預覽功能
  • 自動 HTTPS
Serverless 架構,不適合需要長時間執行的後端應用
網址:vercel.com

Railway:整合高手

優點

  • 內建資料庫支援(PostgreSQL、MySQL)
  • 自動偵測專案類型
  • 即時日誌查看
  • 協作功能
  • $5 免費額度
免費額度用完需要付費,但小型應用每月只需幾美元
網址:railway.app

三大平台比較

項目 Render Vercel Railway
免費方案 750 小時/月 無限部署 $5 額度
最適合 Flask 後端 React 前端 全端 + 資料庫
冷啟動 有(幾秒) 極快 無
資料庫 需另外設定 不支援 內建支援
建議初學者從 Render 開始,它最適合我們的 Flask 應用!

步驟 1:建立 requirements.txt

雲端平台需要知道你的應用需要哪些套件。

1在 CMD 中執行(在虛擬環境內):

pip freeze > requirements.txt

2檢查產生的檔案內容:

flask==3.0.0 openai==1.12.0 python-dotenv==1.0.0 requests==2.31.0 ...
這個檔案列出所有套件和版本,雲端平台會自動安裝它們!

步驟 2:確認 .gitignore

.gitignore 檔案告訴 Git 哪些檔案不要上傳。

# .gitignore 內容 .env venv/ __pycache__/ *.pyc
絕對不要把 .env 上傳到 GitHub!裡面有你的 API Key!

.env

包含 API Key 等敏感資訊

venv/

虛擬環境,太大且不需要

__pycache__/

Python 快取檔案

步驟 3:上傳到 GitHub

1初始化 Git(如果還沒有)

git init

2加入所有檔案

git add .

3建立 commit

git commit -m "Initial commit"

4推送到 GitHub

git push -u origin main

步驟 4:在雲端設定環境變數

由於 .env 不會上傳,需要在雲端平台單獨設定。

在 Render 設定

  • 進入專案 Dashboard
  • 點擊「Environment」分頁
  • 點擊「Add Environment Variable」
  • Key: OPENAI_API_KEY
  • Value: sk-proj-你的API金鑰
所有雲端平台都有類似的環境變數設定功能!

Render 部署流程預覽

1註冊 Render 帳號(可用 GitHub 登入)

2點擊「New +」→「Web Service」

3連接你的 GitHub Repository

4設定 Build Command: pip install -r requirements.txt

5設定 Start Command: python app.py

6設定環境變數 OPENAI_API_KEY

7點擊「Create Web Service」

部署前的專案結構

你的專案資料夾/ ├── venv/ # 虛擬環境(不上傳) ├── templates/ # HTML 範本 │ └── index.html ├── app.py # Flask 主程式 ├── requirements.txt # 套件清單 ✓ ├── .env # 環境變數(不上傳) ├── .env.example # 範例檔案 ✓ └── .gitignore # Git 忽略清單 ✓
打勾的檔案會上傳到 GitHub,其他的不會!

部署常見問題

Build 失敗

檢查 requirements.txt 是否正確
確認套件名稱沒有打錯

應用無法啟動

檢查 Start Command
確認 app.py 的路徑正確

API 錯誤

確認環境變數已設定
API Key 格式正確

頁面空白

檢查 templates 資料夾
確認 index.html 存在

部署遇到問題時,查看平台的 Logs(日誌)可以找到錯誤原因!

恭喜完成所有課程!

你學到了

  • Python 虛擬環境與套件管理
  • Flask 網頁應用開發
  • OpenAI API 串接
  • Postman 與 Python 測試 API
  • HTML/CSS/JavaScript 前端介面
  • 前後端串接
  • 雲端部署概念
你已經具備從零開始建立 AI 對話應用的完整能力!

🎉 課程完成!期待你的下一個作品!

← 返回課程首頁