在 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 - 如果您不是部署单页应用程序,选择"No"
使用 Firebase 和 GitHub CI/CD
在新版本的 Firebase 中,还有一些其他问题:
-
使用 GitHub 设置自动构建和部署?
在这里,您将被重定向到登录 GitHub 账户以获得权限。确认。
-
您想为哪个 GitHub 仓库设置 GitHub 工作流?(格式:user/repository)
按上述格式包含您将使用的仓库(Account/Repo) Firebase 脚本将检索凭据,创建服务账户,您稍后可以在 GitHub 设置中管理。
-
设置工作流在每次部署前运行构建脚本?
这是您在运行部署之前包含一些命令的机会。
-
当 PR 合并时设置自动部署到网站的实时频道?
您可以保留默认选项(main)
之后 Firebase 已在您的项目中设置 CI/CD。之后运行:
hugo && firebase deploy这样您将手动初始化应用程序。之后,您可以从 https://github.com/your-account/your-repo/actions 管理和修复您的 GitHub 工作流。
不要忘记在推送之前更新您的静态页面!
手动部署
要部署您的 Hugo 网站,请执行 firebase deploy 命令,您的网站将很快上线:
hugo && firebase deployCI 设置(其他工具)
您可以使用以下命令生成部署令牌
firebase login:ci您也可以设置 CI 并将令牌添加到私有变量,如 $FIREBASE_DEPLOY_TOKEN。
这是一个私有秘密,不应出现在公共仓库中。确保您了解所选的 CI,并且它对其他人不可见。
然后您可以在构建中添加步骤以使用令牌进行部署:
firebase deploy --token $FIREBASE_DEPLOY_TOKEN