Firebase 托管构建失败,因为 process.env.ci 设置为 true

Lud*_*hus 5 firebase firebase-hosting github-actions

我正在尝试将 create-react-app 部署到 firebase 托管。

我按照入门指南中的步骤操作,并为我设置了 github 操作工作流程。看起来像这样:

# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on merge
'on':
  push:
    branches:
      - master
jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install && npm run build
      - uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_xxxxx }}'
          channelId: live
          projectId: master
        env:
          FIREBASE_CLI_PREVIEWS: hostingchannels
          CI: false
Run Code Online (Sandbox Code Playgroud)

然而; 当我推送新的提交时,构建失败,因为 Treating warnings as errors because process.env.CI = true.

如您所见,我尝试通过添加 来解决此问题CI: false,但CI仍被设置为true. 我怎样才能解决这个问题?为什么我尝试解决这个问题不起作用?

Lud*_*hus 7

解决方法是移至步骤CI: false上方build_and_deploy

env:
  CI: false

jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install && npm run build
      - uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_xxxxx }}'
          channelId: live
          projectId: xxxxxx
        env:
          FIREBASE_CLI_PREVIEWS: hostingchannels

Run Code Online (Sandbox Code Playgroud)

为什么有2env个?不知道。但它有效。

  • [“您可以为步骤、作业或整个工作流程定义环境变量”](https://docs.github.com/en/actions/reference/environment-variables)。顶级“env”将应用于每个步骤,而示例中的“env”仅应用于“FirebaseExtended/action-hosting-deploy”步骤,而不是包含“npm run build”的步骤。 (2认同)