在 Firebase 上托管
假设条件
初始设置
访问 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 工作流程?(格式:用户/仓库)
以上述格式(账号/仓库)包含你将使用的仓库。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