Zeabur 與 GitHub 串接與 PostgreSQL 資料庫設定完整指南
更新日期: 2025 年 1 月 12 日
本文為 Zeabur 部屬基礎指南,第 2 篇:
- Zeabur 網站部屬完整指南:從本地開發到上線
- Zeabur 與 GitHub 串接與 PostgreSQL 資料庫設定完整指南 👈 所在位置
- Zeabur 環境變數設定完整指南
- Zeabur 根目錄 (Root Directory) 設定完整指南
- 為什麼在 Zeabur 部屬後不需要使用 Ngrok?——完整指南
- Django 在 Zeabur 部屬時的大小寫敏感性問題與解決方案
- Zeabur|如何解決 npm run css 執行過久無反應的問題?
- Zeabur 設定檔編輯器 (Config Editor) 完整指南
在這篇教學中,我將引導你如何將 Zeabur 與 GitHub 串接,實現自動化程式碼部署。
同時,會介紹如何在 Zeabur 上正確設定 PostgreSQL 資料庫,並確保以最佳實踐管理環境變數,讓你的專案更加安全與彈性。
Zeabur 與 GitHub 串接教學
透過將 Zeabur 與 GitHub 串接,你可以自動化網站的程式碼部署與更新,省去繁瑣的手動上傳步驟。
綁定 GitHub 帳號
- 登入 Zeabur 控制台。
- 前往 設定 > 整合 > 綁定 GitHub 帳號。
- 如果你是使用電子郵件註冊 Zeabur,綁定 GitHub 後可直接透過 GitHub 按鈕登入。
- 注意:一個 GitHub 帳號僅能綁定一個 Zeabur 帳號。
建立新服務
- 登入 Zeabur 控制台,選擇 建立新服務。
- 選擇 Git 作為程式碼的來源。
授權訪問 GitHub 倉庫
- 在跳出的畫面中,點擊 Configure GitHub。
- 根據系統指示授權 Zeabur 讀取你的 GitHub 倉庫。
- 你可以選擇授權所有倉庫,或僅授權特定倉庫。
選擇要部署的倉庫
- 授權完成後,你會看到一個搜尋框。
- 輸入想要部署的倉庫名稱或關鍵字,並選擇對應的倉庫。
配置服務
- Zeabur 會自動偵測你的程式碼語言與框架(如 Node.js、Django、React 等)。
- 無需手動撰寫 Dockerfile 或進行伺服器配置,Zeabur 會自動完成設置。
自動化部署與持續整合 (CI/CD)
- 完成設定後,Zeabur 會自動部署你的專案。
- CI/CD 功能:未來只要你將程式碼推送到 GitHub,Zeabur 將自動重新部署程式碼。
Zeabur 上設定 PostgreSQL 資料庫
當你的專案需要使用 PostgreSQL 資料庫時,建議將資料庫連線資訊設置為環境變數,以提高安全性與彈性。以下為完整步驟。
為什麼要使用環境變數管理資料庫?
將資料庫設定儲存在環境變數中,有以下優勢:
- ✅ 安全性提升
- 避免將敏感資訊(如密碼)直接寫入程式碼中,防止外洩。
- ✅ 更彈性與可移植性
- 可在本地與雲端間自由切換(本地使用
localhost
,雲端使用 Zeabur 分配的 DB 服務主機)。
- 可在本地與雲端間自由切換(本地使用
- ✅ 更適合 CI/CD 流程
- 在不同環境下(如測試、正式環境)方便管理不同的資料庫連線設定。
在 Zeabur 上建立 PostgreSQL 服務
- 建立專案
- 登入 Zeabur,點擊 建立專案,選擇區域(如台灣),並為專案命名。
- 新增 PostgreSQL 服務
- 進入專案後,選擇 建立服務 > Marketplace。
- 搜尋並選擇 PostgreSQL,點擊建立。
- 自動配置與環境變數
- Zeabur 會自動為你生成 PostgreSQL 服務,並注入相關環境變數,包括:
DB_HOST
DB_PORT
DB_NAME
DB_USER
DB_PASSWORD
- Zeabur 會自動為你生成 PostgreSQL 服務,並注入相關環境變數,包括:
- 連線到資料庫
- 你可以使用工具如 pgAdmin 或 DBeaver 連線到資料庫進行管理。
Django 專案的 settings.py
設定方式
當你在 Django 專案使用 PostgreSQL 時,建議透過環境變數配置資料庫連線資訊。
在 settings.py
中,請使用以下程式碼:
import os
DATABASES = {
"default": {
"ENGINE": os.environ.get("DB_ENGINE", "django.db.backends.postgresql"),
"NAME": os.environ.get("DB_NAME", "db_trico"),
"USER": os.environ.get("DB_USER", "postgres"),
"PASSWORD": os.environ.get("DB_PASSWORD", "postgres"),
"HOST": os.environ.get("DB_HOST", "localhost"),
"PORT": os.environ.get("DB_PORT", "5432"),
}
}
在 Zeabur 控制台設定環境變數
- 登入 Zeabur 並進入你的專案。
- 點擊 PostgreSQL 服務。
- 點選 環境變數,將以下變數加入:
DB_ENGINE = django.db.backends.postgresql
DB_NAME = db_trico
DB_USER = postgres
DB_PASSWORD = postgres
DB_HOST = <Zeabur自動生成的Host>
DB_PORT = 5432
- 保存並重新部署。
總結與最佳實踐建議
GitHub 串接總結
- 綁定 GitHub 帳號,並授權倉庫訪問權限
- 自動部署與 CI/CD,程式碼推送即自動更新
PostgreSQL 資料庫總結
- 建立 PostgreSQL 服務,Zeabur 會自動生成環境變數
- 將資料庫設定寫入
settings.py
,透過os.environ.get()
讀取環境變數 - 在 Zeabur 上設定環境變數並重新部署
這種方式能有效提升你的專案安全性、維護性與自動化程度,並符合最佳實踐。
希望這篇指南能幫助你順利完成 Zeabur 與 GitHub 的串接,以及 PostgreSQL 的正確設置!