Одно и то же имя проекта для разных сервисов Docker Compose - PullRequest
0 голосов
/ 19 декабря 2018

Я реализовал CI в Jenkins.При каждом коммите он строит контейнеры, запускает тесты, а затем останавливает и уничтожает контейнеры.

 docker-compose -p project_name build php
 docker-compose -p project_name run --rm php bin/phpunit --group=unit
 docker-compose -p project_name stop
 docker-compose -p project_name down

Может случиться, что я нажму один коммит, а через минуту другой.Итак, первый контейнер будет запущен при запуске второго.

Итак, мои вопросы: будут ли операции остановки и выключения из первой задачи Jenkins, останавливать и уничтожать второй контейнер, запущенный после первого?

Должен ли я использовать разные имена проектов для каждой сборки Jenkins, или можно использовать одно и то же имя проекта для всех сборок?

спасибо

1 Ответ

0 голосов
/ 19 декабря 2018

Распространенная ситуация, чтобы избежать возможных коллизий, включает в себя идентификатор фиксации или любой другой уникальный идентификатор в имени проекта.Мы используем gitlab со следующей конфигурацией:

docker-compose -p "myproject-${CI_JOB_NAME}" ... up --force-recreate  --remove-orphans
...