将网站部署到github上
欢迎回来! 在本教程中,我们将学习如何使用GitHub Action自动将多个站点部署到Firebase托管。 GitHub提供了与其存储库集成的免费增值工具(对于开源免费) 。
我将使用在本教程的第1部分中创建的Get Reacted React App入门项目在GitHub中建立Git存储库。
或者,如果您想学习如何使用GitLab CI / CD工具,则可以参考本教程的第2部分 。
Firebase身份验证令牌
通过GitHub Action登录到您的Firebase帐户需要身份验证令牌。 您必须在终端上运行firebase login:ci
才能获得一个。 在执行此操作之前,请确保已安装Firebase CLI 。 应该出现一个弹出窗口,您必须登录到您的帐户。 成功登录后,您应该在终端上看到令牌。
CI / CD配置
我们将身份验证令牌添加到我们存储库中的Secrets设置中。 秘密使我们能够存储敏感信息,例如存储库中的访问令牌。
您将能够在存储库中的Settings > Secrets
秘密”下看到“秘密”部分。 单击Add a new secret
。
名称将为FIREBASE_TOKEN
,值将为身份验证令牌。
您应该看到FIREBASE_TOKEN
机密出现在“机密”部分。
工作流程YAML文件
要创建GitHub Action工作流,请转到Actions
并单击横幅左上角的“设置此工作流”。 您将被重定向到代码编辑器页面。
将内容替换为以下代码中的代码编辑器。
name: Firebase hostingon:
push:
branches: [ master, staging ]jobs:
deploy:
runs-on: ubuntu-latest steps:# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2 - name: Install firebase tools
run: |sudo npm install -g firebase-toolsfirebase use <FIREBASE PROJECT ID> --token $ {{ secrets.FIREBASE_TOKEN }} - name: Build website
run: |yarnyarn build - name: Deploy to staging site
if: github.ref == 'refs/heads/staging'
run: firebase deploy --only hosting:<TARGET NAME> --non-interactive --token ${{ secrets.FIREBASE_TOKEN }} -m "RunID $ {{ github.run_id }} Commit SHA $ {{ github.sha }} " - name: Deploy to production site
if: github.ref == 'refs/heads/master'
run: firebase deploy --only hosting:<TARGET NAME> --non-interactive --token ${{ secrets.FIREBASE_TOKEN }} -m "RunID $ {{ github.run_id }} Commit SHA $ {{ github.sha }} " - name: Archive build Artifact
uses: actions/upload-artifact@master
with:
path: build
将<FIREBASE PROJECT ID>
占位符替换为Firebase Project ID,并将两个<TARGET NAME>
占位符替换为分别在本教程的第1部分中创建的目标名称。
YAML文件说明
当存储库中的staging
和master
分支发生更改(推动)时,将触发工作流程。
deploy
是唯一Ĵ OB了在此工作流定义。 工作流的环境将在Ubuntu的最新版本上 。
actions/checkout@v2
检出您的存储库,以便作业可以访问它。
Install firebase tools
将在工作流环境中全局安装firebase-tools。 它将使用您指定的<FIREBASE PROJECT ID>
并使用FIREBASE_TOKEN
密码进行身份验证。
将根据触发工作流的分支,将项目构建并部署到target name
之一。 您可以在此处了解有关其工作原理的更多信息。
最后,它将上载生产构建工件,以便您以后可以下载。
部署工作流程
让我们开始提交以将main.yml
文件(上面的代码)推送到我们的存储库。 我将直接将文件提交到master
分支。 您可以选择创建一个新分支,然后向master
分支发出拉取请求 。
成功提交到master分支后,工作流应开始运行。
工作流完成后,如果没有错误,您应该看到一个绿色的勾号。
结论
恭喜你! 您已经到了本教程的结尾。 希望对您有帮助。 请在此处随意签出该项目的存储库。
如果您发现任何错误或对如何更好地做到这一点有任何建议,请告诉我!
翻译自: https://hackernoon.com/how-to-deploy-multiple-sites-to-firebase-using-github-actions-pa2c3wmr
将网站部署到github上