Технический стек: Angular9, GitLab, .gitlab-ci.yml, Firebase.
У меня уже есть базовое приложение c angular 9 и настройка проекта Firebase тоже развернуть.
Мне нужно убедиться, что мой .gitlab-ci.yml настроен на развертывание приложения angular9 в Firebase.
Все в следующем файле .gitlab-ci.yml работает отдельно от этапа, называемого: 'deploy'.
Это полный файл .gitlab-ci.yml:
image: node:latest
stages:
- linters
- unit
- e2e
- build
- deploy
.environment:
cache:
paths:
- node_modules/
- cache/Cypress
variables:
GIT_STRATEGY: fetch
image: cypress/base:10
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
Run Prettier, Linting & Test Build:
extends: .environment
stage: linters
script: |
npm ci
npm run lint
npm run prettify-check
Unit Tests:
extends: .environment
stage: unit
script: |
npm ci
npm run test:cli
Cypress Tests1:
extends: .environment
stage: e2e
script: |
npm ci
chmod +x set-up-cypress.sh
npx start-server-and-test start http://localhost:4200 cy:test1
artifacts:
when: always
paths:
- cypress/videos
- cypress/screenshots
expire_in: 1 day
Cypress Tests2:
extends: .environment
stage: e2e
script: |
npm ci
chmod +x set-up-cypress.sh
npx start-server-and-test start http://localhost:4200 cy:test2
artifacts:
when: always
paths:
- cypress/videos
- cypress/screenshots
expire_in: 1 day
Release build:
extends: .environment
stage: build
script: |
npm ci
npm run build --prod --aot
Deploy Job:
extends: .environment
stage: deploy
script: |
npm ci
npm run build --prod --aot
npm install -g firebase-tools
firebase use --token $FIREBASE_DEPLOY_KEY production
firebase deploy -m "Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive --token $FIREBASE_DEPLOY_KEY
artifacts:
name: "app"
paths:
- dist/app
Единственный этап не работает задание на развертывание:
Deploy Job:
extends: .environment
stage: deploy
script: |
npm ci
npm run build --prod --aot
npm install -g firebase-tools
firebase use --token $FIREBASE_DEPLOY_KEY production
firebase deploy -m "Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive --token $FIREBASE_DEPLOY_KEY
artifacts:
name: "app"
paths:
- dist/app
Примечание: Я добавил переменную $ FIREBASE_DEPLOY_KEY в мои Git Лабораторные переменные CI.
Это ошибка, которую я получаю: ошибка: отсутствует параметр '--token'
Кажется, что происходит сбой в этой строке файла yaml: «использование firebase --token $ FIREBASE_DEPLOY_KEY»
Это мой файл .firebaser c:
{
"projects": {
"default": "training-fc63b",
"production": "training-fc63b"
}
}