Доброго времени суток!
Мне достался проект, который на данный момент деплоится с помощью gitlab командами утилиты docker-compose на сервере (на данный момент данная команда выглядит следующим образом: docker-compose -p prod_front -f docker-compose-prod.yml up -d --build --remove-orphans).
Само приложение написано на python с применением django и собирается оно в контейнере, который при каждом деплое билдится. Во время билда контейнера каждый раз устанавливаются зависимости из requirements, из-за чего деплой занимает достаточно длительное время.
На прошлых проектах видел, как девопс решал данную проблему следующим образом: билдился отдельный контейнер со всем необходимым для проекта, а потом отдельно подключался в контейнер с проектом, таким образом не тратилось время на установку всех зависимостей.
Но мне не совсем понятно следующее:
1. как gitlab понимает что dickerfile или requirements изменились и надо пересобрать контейнер с зависимостями для проекта?
2. как в dockerfile с проектом указывать какой контейнер с зависимостями, который был собран/пересобран, необходимо использовать?
Если есть другие хорошие решения, подскажите пожалуйста, буду Вам очень благодарен
Если вы знаете хорошие стать, которые описывать решение, то будет еще лучше