Host on Firebase
假設
- 您擁有 Firebase 帳號。(如果沒有,可以使用 Google 帳號免費註冊。)
- 您已完成 [快速入門] 或已準備好 Hugo 網站進行部署。
初步設置
前往 Firebase 控制台 創建一個新項目(如果尚未創建)。您需要全局安裝 firebase-tools
(node.js):
npm install -g firebase-tools
使用 firebase login
登錄 Firebase(在您的本地機器上設置),它會打開一個瀏覽器,您可以在其中選擇帳號。如果已經登錄,但登錄了錯誤的帳號,請使用 firebase logout
。
firebase login
在您的 Hugo 項目根目錄中,使用 firebase init
命令初始化 Firebase 項目:
firebase init
從這裡開始:
- 在功能選擇問題中選擇 Hosting
- 選擇您剛創建的項目
- 接受資料庫規則文件的默認設置
- 接受默認的發佈目錄,即
public
- 如果您部署的是單頁應用程序,選擇「否」
使用 Firebase 和 GitHub CI/CD
在 Firebase 的新版本中,還有其他一些問題:
- 設置自動構建和部署到 GitHub 嗎?
在這裡,您將被重定向到登錄您的 GitHub 帳戶以授予權限。確認即可。
- 您希望為哪個 GitHub 存儲庫設置 GitHub 工作流程?(格式:user/repository)
請按照上述格式輸入您將使用的存儲庫(帳戶/倉庫)。Firebase 腳本將檢索憑證並創建您稍後可以在 GitHub 設置中管理的服務帳戶。
- 是否設置在每次部署前運行構建腳本?
在這裡,您可以在運行部署之前加入一些命令。
- 設置自動部署到網站的實時頻道,當 PR 被合併時?
您可以保留默認選項(main)。
之後,Firebase 將在您的項目中設置 CI/CD。接著運行:
hugo && firebase deploy
這樣您就手動初始化了應用程序。之後,您可以從 https://github.com/your-account/your-repo/actions 管理和修復您的 GitHub 工作流程。
不要忘記在推送之前更新您的靜態頁面!
手動部署
要部署您的 Hugo 網站,執行 firebase deploy
命令,您的網站將很快上線:
hugo && firebase deploy
CI 設置(其他工具)
您可以使用以下命令生成部署令牌:
firebase login:ci
您還可以設置 CI 並將令牌添加到私有變量,如 $FIREBASE_DEPLOY_TOKEN
。
然後,您可以在構建中添加一個步驟來使用令牌進行部署:
firebase deploy --token $FIREBASE_DEPLOY_TOKEN