在 Firebase 上托管
假设
初始设置
转到 Firebase 控制台 并创建一个新项目(除非您已经有项目)。您需要全局安装 firebase-tools
(node.js)
npm install -g firebase-tools
使用 firebase login
登录 Firebase(在您的本地机器上设置),这会打开一个浏览器,您可以在其中选择您的帐户。如果您已登录但登录了错误的帐户,请使用 firebase logout
注销。
firebase login
在您的 Hugo 项目的根目录中,使用 firebase init
命令初始化 Firebase 项目
firebase init
从这里开始
- 在功能问题中选择托管
- 选择您刚刚设置的项目
- 接受数据库规则文件的默认值
- 接受发布目录的默认值,即
public
- 如果您正在部署单页应用程序,则在问题中选择“否”
使用 Firebase 和 GitHub CI/CD
在 Firebase 的新版本中,会应用一些其他问题
- 是否使用 GitHub 设置自动构建和部署?
在这里,您将被重定向到您的 GitHub 帐户以获取权限。确认。
- 您希望为哪个 GitHub 存储库设置 GitHub 工作流?(格式:用户/存储库)
以上述格式(帐户/仓库)包含您将使用的存储库 Firebase 脚本将检索凭据,创建一个服务帐户,您可以在 GitHub 设置中稍后管理该帐户。
- 是否设置工作流以在每次部署之前运行构建脚本?
这是您在运行部署之前包含一些命令的机会。
- 合并 PR 时是否设置自动部署到您网站的实时频道?
您可以保留默认选项(main)
之后,Firebase 已在您的项目中使用 CI/CD 设置。之后运行
hugo && firebase deploy
这样,您将手动初始化应用程序。之后,您可以从以下位置管理和修复您的 GitHub 工作流:https://github.com/your-account/your-repo/actions
不要忘记在推送之前更新您的静态页面!
手动部署
要部署您的 Hugo 网站,请执行 firebase deploy
命令,您的网站将立即上线
hugo && firebase deploy
CI 设置(其他工具)
您可以使用以下命令生成部署令牌
firebase login:ci
您还可以设置您的 CI 并将令牌添加到私有变量,例如 $FIREBASE_DEPLOY_TOKEN
。
然后,您可以在构建中添加一个步骤,使用令牌进行部署
firebase deploy --token $FIREBASE_DEPLOY_TOKEN