Zeabur 設定檔編輯器 (Config Editor) 完整指南
更新日期: 2025 年 3 月 4 日
本文為 Zeabur 部屬基礎指南,第 8 篇:
在 Zeabur 平台上進行專案部屬時,有一個功能強大的工具——設定檔編輯器 (Config Editor)。
它允許開發者在服務運行期間,直接調整服務的設定檔內容,而無需修改 GitHub 上的原始程式碼。
本篇文章將詳細解釋什麼是 Zeabur 的設定檔編輯器、如何使用,以及如何避免因手動修改導致的同步問題。
什麼是 Zeabur 設定檔編輯器?
設定檔編輯器 (Config Editor) 是 Zeabur 提供的一個圖形化工具,允許使用者在 不修改原始碼 的情況下,直接修改服務的設定檔。
這個功能特別適合以下情況:
- 快速測試設定變更
- 修正小範圍錯誤
- 伺服器端即時調整配置
範例應用情境
- 反向代理設定 (NGINX):
- 修改
/etc/nginx/nginx.conf
來自訂反向代理的行為
- 修改
- Django 專案設定 (
settings.py
):- 調整
DEBUG
模式與ALLOWED_HOSTS
- 調整
- Docker Compose:
- 直接修改服務啟動指令與容器環境變數
如何使用 Zeabur 設定檔編輯器?
進入 Zeabur 專案
- 登入 Zeabur 控制台
- 選擇你要修改的專案
打開設定檔編輯器
- 在專案服務清單中,選擇目標服務(如 Web 服務)。
- 點擊 設定 > 設定檔
- 點擊「開啟設定檔編輯器」
編輯設定檔
- 在編輯器中,你可以新增或修改服務的設定檔內容
- 範例:編輯 NGINX 反向代理設定
/etc/nginx/nginx.conf
server {
listen 80;
server_name myapp.zeabur.app;
location / {
proxy_pass http://localhost:8000;
}
}
儲存並重新部署
- 點擊 保存設定
- 回到專案主畫面,選擇 重新部署 (Redeploy)
- Zeabur 將會使用新的設定檔來啟動服務
為什麼 Config Editor 會導致同步問題?
當你直接使用 Config Editor 修改設定檔時,這些變更會覆蓋 GitHub 上的程式碼。即使你更新了 GitHub,Zeabur 仍然會優先使用 Config Editor 中的設定。
常見錯誤案例:Django 的 settings.py
被覆蓋
django.template.loaders.filesystem.Loader: /app/core/settings.py (Source does not exist)
原因:
- 你的
settings.py
在 Zeabur Config Editor 中被手動修改 - 即使你更新 GitHub 上的程式碼,Zeabur 仍使用 Config Editor 中的舊版設定
如何修正這個問題?
刪除 Config Editor 中的內容
- 登入 Zeabur 控制台
- 進入 設定 > 設定檔編輯器
- 刪除所有自訂的
settings.py
內容 - 點擊 保存設定
- 回到主頁並點擊 重新部署 (Redeploy)
Zeabur 會自動回到使用 GitHub 上的最新程式碼
確認 settings.py
正確配置
如果你確定要使用 GitHub 上的設定,請確保你的 settings.py
文件設定正確,特別是以下幾點:
import os
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
# 正確的安全性設定
SECRET_KEY = os.getenv('DJANGO_SECRET_KEY')
DEBUG = False # 生產環境請關閉 DEBUG
ALLOWED_HOSTS = [
'localhost',
'127.0.0.1',
'myapp.zeabur.app'
]
# 靜態檔案設定
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'staticfiles'
強制重新同步 GitHub 程式碼
- 刪除 Config Editor 修改
- 重新觸發 GitHub 部署
- 在 GitHub 上提交一個新 Commit
- 檢查 Zeabur 部署日誌
- 確認
settings.py
來自 GitHub 的最新版本
- 確認
如何避免 Config Editor 被濫用?
建立團隊協作規範
- 只允許管理員修改 Config Editor
- 明確規範 Config Editor 僅用於緊急修復
GitHub 優先策略
- 在 Config Editor 中盡量不手動修改
settings.py
- 保持程式碼一致性,將所有變更透過 GitHub 控管
自動化測試與部屬
- 在 GitHub 整合 CI/CD(如 GitHub Actions),自動測試每次推送的程式碼
總結:如何正確使用 Zeabur Config Editor?
- Config Editor 的優先級高於 GitHub,僅用於臨時設定變更
- 如果要使用 GitHub 最新程式碼,請刪除 Config Editor 內的自訂設定
- 建議將所有專案設定檔維護於 GitHub,以維持版本控制的一致性
- 在 Django 專案中,務必確保
settings.py
配置正確,並避免在生產環境使用DEBUG=True
透過這些最佳實踐,你可以更靈活且安全地管理 Zeabur 上的服務設定!