Я пытаюсь реализовать конвейер CI в Gitlab CI (частный раннер), выполняю сборку проекта в контейнере docker, а затем использую docker-compose для управления существующим сервисом (UP / DOWN) через тот же gitlab-ci.файл yml, но с двумя средами в одном и том же средстве выполнения.
Конвейер работает только при запуске фиксации мастера.
проблема заключается в том, что при попытке загрузить следующую среду предыдущуюподавляет !, другая альтернатива, о которой я думал, это сделать контейнеры LXC и иметь бегун внутри, но это кажется немного излишним!
мой текущий файл выглядит примерно так!
stages:
- dev
- docker
job dev:
stage: dev
tags:
- dev,backend
only:
- master
- master@xxxxx/xxxxxxx.git
script:
- docker build -t backend:dev .
- echo "MONGO_ENV=$MONGO_DEV" > .env
- docker-compose -f docker-compose.yml down
- docker-compose -f docker-compose.yml up -d
allow_failure: true
job docker:
stage: docker
tags:
- dev,backend
only:
- master
- master@xxxxx/xxxxxx.git
script:
- docker build -t backend:dev .
- echo "MONGO_ENV=$MONGO_QA" > .env
- docker-compose -f docker-compose.yml down
- docker-compose -f docker-compose.yml up -d
allow_failure: true