如何在提交到主分支时自动部署到firebase?

问题描述 投票:0回答:2

主要部分

我正在尝试为自己创建一个舒适的工作流程。我只是想知道当我在桌面上的存储库主分支中提交更改并将源推送到 GitHub 时,是否有任何方法可以自动从 GitHub 存储库部署到 Firebase 托管?

...可能使用“GitHub 操作”...

背景和我尝试过的事情

截至 2022 年 1 月 15 日,我发现有两种将网站文件部署到 Firebase 托管的方法。

  1. 事实上的 firebase cli 方式,您可以使用
    firebase deploy
    命令将文件推送到 firebase 托管。
  2. 使用 github 操作的自动化方式,每次创建拉取请求时都会自动部署站点。

第一个很乏味,第二个不是我喜欢的。特别是因为我想要设置的工作流程不是太多面向 git,据我所知,我不使用“拉取请求”。我只是直接在主分支中提交更改。

(之所以如此,是因为我不是程序员,我只是想使用 Firebase 托管 + GitHub 存储库创建一个博客网站)

我还提到了https://medium.com/firebase-developers/the-compressive-guide-to-github-actions-and-firebase-hosting-818502d86c31

firebase github workflow firebase-hosting
2个回答
1
投票

使用通过 GitHub 拉取请求部署到实时和预览通道。如果您使用 pull requests 来审查更改或者直接将提交推送到主分支,它将起作用。

我建议您使用拉取请求。这是一个很好的流程来仔细检查您的更改,并且通过 Firebase 操作,它将部署更改的临时预览,以便您可以验证所有内容看起来是否正确。


0
投票

是的,您可以使用 GitHub Actions 自动将代码从 GitHub 部署到 Firebase Hosting。这是一个简单的设置指南:

  1. 创建 Firebase 项目: 如果您尚未创建 Firebase 项目,请在 Firebase 控制台创建一个 Firebase 项目。

  2. 设置 Firebase 托管: 在项目目录中,运行 firebase init 并按照提示设置 Firebase 托管。这将在您的项目中创建一个 firebase.json 文件。

  3. 生成 Firebase 令牌:

运行 firebase login:ci 以获取部署令牌。按照说明登录 Firebase 并复制生成的令牌。

  1. 将 Firebase 令牌添加到 GitHub Secrets:

转到您的 GitHub 存储库。 单击设置 > 秘密和变量 > 操作。 单击新建存储库机密。 将密钥命名为 FIREBASE_TOKEN 并粘贴您之前复制的 Firebase 令牌。

  1. 创建 GitHub Actions 工作流程:

在您的项目目录中,创建一个名为 .github/workflows 的目录(如果尚不存在)。 在此目录中,创建一个名为 firebase-deploy.yml.

的文件
  1. 添加工作流程配置:打开firebase-deploy.yml并添加以下代码:

    部署到 Firebase 托管

    在: 推: 分支机构: - 主要

    工作: 部署: 运行:ubuntu-latest

     steps:
     - name: Checkout code
       uses: actions/checkout@v3
    
     - name: Set up Node.js
       uses: actions/setup-node@v3
       with:
         node-version: '14'
    
     - name: Install Firebase CLI
       run: npm install -g firebase-tools
    
     - name: Deploy to Firebase Hosting
       env:
         FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
       run: firebase deploy --token "$FIREBASE_TOKEN"
    
  2. 提交并推送:保存 firebase-deploy.yml 文件,提交更改,并将其推送到 GitHub 存储库。

完成这些步骤后,每次您将更改推送到主分支时,GitHub Actions 都会自动将您的项目部署到 Firebase Hosting。此设置可确保您的部署保持一致,并避免您每次更新代码时都手动部署。

© www.soinside.com 2019 - 2024. All rights reserved.