Нужна помощь при использовании Git Lab для развертывания приложения Angular9 в Firebase с использованием файла .gitlab-ci.yml - PullRequest
1 голос
/ 17 февраля 2020

Технический стек: 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"
  }
}
...