Firebase Hosting 自动预览部署 GitHub 动作指南
项目介绍
Firebase Hosting 自动预览部署 GitHub 动作 (FirebaseExtended/action-hosting-deploy
) 是一个强大的自动化工具,它为你的每个 GitHub 拉取请求(PR)创建一个新的预览通道及其关联的预览URL。该动作自动在 PR 中添加评论,附上预览URL,以便团队成员可以在“预览”版本中查看和测试更改。每当有新的提交时,它都会自动更新这些预览URL,确保始终展示最新代码。此外,当PR合并时可选地将当前仓库状态部署到生产环境。
项目快速启动
安装与配置 Firebase Hosting
-
初始设置: 若你尚未设置 Firebase Hosting,在本地目录根部运行以下命令进行快速配置:
firebase init hosting
-
已有Hosting设置: 如果已经设置了Hosting,仅需执行针对GitHub集成的部分:
firebase init hosting:github
部署至预览通道
在你的GitHub仓库中,创建或修改.github/workflows/deploy-preview.yml
文件以实现自动部署预览:
name: Deploy to Preview Channel
on: [pull_request]
jobs:
build_and_preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build # 假设你的构建流程需要这一步
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: "$[secrets.GITHUB_TOKEN]"
firebaseServiceAccount: "$[secrets.FIREBASE_SERVICE_ACCOUNT]"
expires: 30d
projectId: your-project-id
别忘了在你的仓库设置中添加两个秘密变量:
GITHUB_TOKEN
: 自动添加。FIREBASE_SERVICE_ACCOUNT
: 上传你的服务账户密钥作为秘密,并设置其名称为此。
生产环境部署
当你希望在分支推送到主分支时自动部署到生产环境,编辑或创建.github/workflows/deploy-prod.yml
:
name: Deploy to Live Channel
on: [push]
branches: [main]
jobs:
deploy_live_website:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
firebaseServiceAccount: "$[secrets.FIREBASE_SERVICE_ACCOUNT]"
projectId: your-project-id
channelId: live
应用案例与最佳实践
- 持续部署: 将此工作流与CI/CD结合,每次代码审查通过后自动部署预览,提高开发效率。
- 多环境管理: 针对不同的分支策略部署到不同阶段的环境(如,master分支直接部署到生产,而feature分支部署到预发布环境)。
- 即时反馈: 提供即时的前端更改预览给团队,减少沟通成本,提升迭代速度。
典型生态项目
虽然特定的典型生态项目未直接在提供的信息中列出,但可以想象,在基于Firebase的Web应用程序开发场景中广泛采用此GitHub Action。例如,任何依赖于Firebase Hosting的React、Vue或Angular项目都可以从这个自动化部署解决方案中受益,尤其是在协同开发或持续交付的环境中。
通过这种方式,开发者可以专注于编写高质量的代码,而部署流程则被无缝融入到日常开发工作中,提高了工作效率与产品质量。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考