Zeabur 設定檔編輯器 (Config Editor) 完整指南

更新日期: 2025 年 3 月 4 日

Zeabur 平台上進行專案部屬時,有一個功能強大的工具——設定檔編輯器 (Config Editor)

它允許開發者在服務運行期間,直接調整服務的設定檔內容,而無需修改 GitHub 上的原始程式碼。

本篇文章將詳細解釋什麼是 Zeabur 的設定檔編輯器、如何使用,以及如何避免因手動修改導致的同步問題。


什麼是 Zeabur 設定檔編輯器?

設定檔編輯器 (Config Editor) 是 Zeabur 提供的一個圖形化工具,允許使用者在 不修改原始碼 的情況下,直接修改服務的設定檔。

這個功能特別適合以下情況:

  • 快速測試設定變更
  • 修正小範圍錯誤
  • 伺服器端即時調整配置

範例應用情境

  1. 反向代理設定 (NGINX)
    • 修改 /etc/nginx/nginx.conf 來自訂反向代理的行為
  2. Django 專案設定 (settings.py)
    • 調整 DEBUG 模式與 ALLOWED_HOSTS
  3. Docker Compose
    • 直接修改服務啟動指令與容器環境變數

如何使用 Zeabur 設定檔編輯器?

進入 Zeabur 專案

打開設定檔編輯器

  1. 在專案服務清單中,選擇目標服務(如 Web 服務)。
  2. 點擊 設定 > 設定檔
  3. 點擊「開啟設定檔編輯器

編輯設定檔

  • 在編輯器中,你可以新增或修改服務的設定檔內容
  • 範例:編輯 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 中的內容

  1. 登入 Zeabur 控制台
  2. 進入 設定 > 設定檔編輯器
  3. 刪除所有自訂的 settings.py 內容
  4. 點擊 保存設定
  5. 回到主頁並點擊 重新部署 (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 程式碼

  1. 刪除 Config Editor 修改
  2. 重新觸發 GitHub 部署
    • 在 GitHub 上提交一個新 Commit
  3. 檢查 Zeabur 部署日誌
    • 確認 settings.py 來自 GitHub 的最新版本

如何避免 Config Editor 被濫用?

建立團隊協作規範

  • 只允許管理員修改 Config Editor
  • 明確規範 Config Editor 僅用於緊急修復

GitHub 優先策略

  • 在 Config Editor 中盡量不手動修改 settings.py
  • 保持程式碼一致性,將所有變更透過 GitHub 控管

自動化測試與部屬

  • 在 GitHub 整合 CI/CD(如 GitHub Actions),自動測試每次推送的程式碼

總結:如何正確使用 Zeabur Config Editor?

  1. Config Editor 的優先級高於 GitHub,僅用於臨時設定變更
  2. 如果要使用 GitHub 最新程式碼,請刪除 Config Editor 內的自訂設定
  3. 建議將所有專案設定檔維護於 GitHub,以維持版本控制的一致性
  4. Django 專案中,務必確保 settings.py 配置正確,並避免在生產環境使用 DEBUG=True

透過這些最佳實踐,你可以更靈活且安全地管理 Zeabur 上的服務設定!

Similar Posts