Gitlab СI/CD php приложения в докере. Как организовать?

Хочу организовать сборку, тестирование и доставку приложения.
Что есть:
- docker-compose.yml c 3-мя сервисами (nginx, php-fpm, mysql)
- .gitlab-ci.yml c 2-мя (пока) стадиями и 3-мя джобами (сборка + тестирование (юнит тесты. cs валидация))

Вопросы:
1. Как правильно шарить контейнеры (которые были собраны на первом шаге) между джобами? Пушить на стадии сборки в registry потом на каждом шаге делать pull или docker save и в артефакты?
2. Как правильно собрать и доставить приложение на прод? Где производить билд?

p.s если есть материалы по моим вопросам, то будет здорово если дадите почитать :)
  • Вопрос задан
  • 543 просмотра
Решения вопроса 1
OnYourLips
@OnYourLips
2. Билд уже был произведен во время сборки на первом шаге. И был залит на тестовые среды после удачного тестирования и проверен мясными человеками.
Во время деплоя ничего билдить не надо.

CD в гитлабе слабый, я бы рекомендовал такой подход: скрипт (и манифесты) деплоя в отдельном проекте, он и будет заниматься помещением сбилженных ранее образов на нужные машины (тестовые или прод).
Машину, проект и другие параметры можно указать перед запуском.
Удобно делать при помощи https://docs.gitlab.com/ce/ci/chatops/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
angrySCV
@angrySCV
machine learning, programming, startuping
контейнеры лучше шарить через репозиторий, тк за счет кэширования слоев получается очень быстрая и эффективная схема работы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы