Конвейер Gitlab запускает другой образ docker из подкаталога

#docker #docker-compose #gitlab-ci #gitlab-ci-runner #gitlab-pipelines

#docker #docker-compose #gitlab-ci #gitlab-ci-runner #gitlab-конвейеры

Вопрос:

Я хочу запустить тесты производительности в конвейере gitlab как отдельный этап. Для этого я хочу создать другой образ с помощью контейнера docker, чем тот, который я использую для всех других этапов.

Итак, мой проект выглядит примерно так: project:

 -src/
  --gl-pipeline.yml
-.gitlab-ci.yml
-docker-compose.yml
-performance-tests/
  --docker-compose.yml(performance image with bzt installed)
  --perfomance-tests-jmeter.yml
  

в gl-конвейере.yml Я настроил задачу, подобную

 performance-tests:
  image: my_main_image
  stage: performance-tests
  script:
    - cd ./performance-tests amp;amp; bzt perfomance-tests-jmeter.yml
  

Теперь, когда я запускаю свою задачу в конвейере, bzt perfomance-tests-jmeter.yml выполняется в образе docker, определенном в корне проекта, поэтому не удается запустить bzt, поскольку он там не установлен.
как мне настроить запуск изображения в моем подкаталоге performance-tests /?

Ответ №1:

Вы можете определить image используемый для каждого этапа, поэтому, чтобы использовать этот пользовательский образ, вы должны сначала создать этот образ (тот, у которого установлен bzt), поместить его в реестр docker, а затем использовать его вместо вашего основного образа в performance-tests целевом

 performance-tests:
  image: <image_you_built_and_pushed_to_registry>
  stage: performance-tests
  script:
    - cd ./performance-tests amp;amp; bzt perfomance-tests-jmeter.yml
    ```