Я перевожу свой CI / CD на Github Actions и заметил, что мои предыдущие сценарии для развертывания Firebase не работают.
Когда я пытаюсь переключать проекты через firebase use staging --debug
, он выдает ошибку:
[2020-04-14T12:51:59.154Z] > command requires scopes:
["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
Если я использую firebase use --debug
, чтобы увидеть, какой проект активен, я получаю
Error: No active project
Эти скрипты работают без сбоев на CircleCI, поэтому я не понимаю, почему они ломаются на Github Actions. Они также отлично работают в моей местной среде.
Я пробовал разные версии узла и устанавливал инструменты firebase, однако все они приводят к одной и той же ошибке. Я сгенерировал новый токен, сгенерированный с помощью firebase login:ci
.
Вот пример моего рабочего процесса Github Actions:
deploy_staging:
name: Deploy to staging
needs: eslint_test_build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: "10.x"
...
- name: Deploy to Firebase
run: |
npm install -g firebase-tools
firebase -V # this will work
firebase use staging # this will fail
firebase functions:config:set sentry.dsn=$DSN
firebase deploy --only hosting:admin --token "$TOKEN" --non-interactive
env:
TOKEN: ${{ secrets.firebase_token }}
- обновление
Когда я просто использую развертывание, оно работает. Является ли команда deploy
Firebase CLI единственной допустимой для Github Actions?
Это работает:
- name: Deploy to Firebase
run: |
npm install -g firebase-tools
firebase deploy --only hosting:admin --project=staging --token "$TOKEN" --non-interactive