在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工作流程?(格式:用户/仓库)
按照上述格式(帐户/仓库)包含您将使用的仓库。 Firebase脚本将获取凭据,创建一个服务帐户,您随后可以在GitHub设置中管理此帐户。
- 是否要设置在每次部署之前运行构建脚本的工作流程?
这是您在运行部署之前包含一些命令的机会。
- 是否要在PR合并时自动将部署到站点的活跃通道?
您可以选择默认选项(主要)
之后,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