Перед сборкой приложения на GitlabCI замените файл конфигурации приложения другим. - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь получить мой .gitlab-ci.yml файл для замены файла конфигурации другим во время сборки. Идея состоит в том, чтобы выбрать правильный файл конфигурации для каждой среды, прямо из моего Yaml.

Позвольте мне объяснить: у меня есть файлы конфигурации в моем приложении, под /lib/core/config Я хотел бы заменить config.dart на firebase_config.dart если я подталкиваю к постановке. Я попробовал этот довольно неуклюжий способ, который не сработал:

webdev-build:
  image: google/dart:latest
  stage: build
  cache:
    paths:
      - .dart_tool/
  before_script:
    - cp $CI_PROJECT_DIR/lib/core/config/config_firebase.dart $CI_PROJECT_DIR/lib/core/config/config.dart
  script:
    - pub global activate webdev
    - pub get    
    - pub global run webdev build -o web:build
  artifacts:
    paths:
      - build
  only:
    - dev

Я также попытался начать с простой работы вместо оператора before_script.

В обоих случаях процесс сборки всегда дает сбой, потому что config_firebase.dart не может быть найден.

Насколько я понимаю, Gitlab CI сначала клонирует мое хранилище в другое и создает контейнерную среду, которая будет использоваться для сборки моего приложения. Это будет означать, что моя попытка решить проблему происходит слишком поздно.

Каков будет правильный путь для достижения этой цели?

...