oldkitty
@oldkitty
Программист-почемучка

Необходимо ли выносить docker окружение в отдельный репозиторий?

Добрый день!

Возник вопрос:
Есть ли смысл выносить docker/vagrant/%tool_name% окружение в отдельный репозиторий или стоит держать всё вместе с кодом, что бы стартовало "с одной кнопки" в одной папке?

Есть сомнения, что имеет смысл все хранить в одной репе, когда на проде docker/vagrant/%tool_name% окружение не используется.

По моему мнени, в пользу разделения говорит тот факт, что в теории можно в разных ветках хранить dev и prod конфигурации окружения, соотв не засорять ветки кодовой репы.

Было бы интересно узнать как всё таки правильнее.
  • Вопрос задан
  • 302 просмотра
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
Правильно - хранить код в одном репозитории.
На проде не требуется даже иметь гит или что там у вас в качестве системы контроля версий.
Нужно настраивать CI/CD так, чтобы в контейнер на прод выкатывались только нужные файлы и каталоги, ничего лишнего.
Очень удобно, когда в девелоперском окружении код работает без докера, но сопутствующие вещи вроде БД и прочих сервисов удобно держать в контейнерах и на девелоперской машине. Так проще развёртывать среду разработки и быстрее вводить сотрудников в процесс. Технически нет особых проблем, чтобы настроить удалённую отладку прямо внутри контейнера. так можно приблизить девелоперское окружение к продовой конфигурации.

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

Храните всё, что нужно для CI/CD в том же репозитории где код. Там же у вас лежат тесты (не нужные в продакте), вспомогательные скрипты, артефакты тулинга и прочее.
Поищите, в гитхабе есть много так называемых "КукиКаттеров". Это инструмент, для шаблонизации проектов на разных стеках. Как правило в созданной по такому шаблону заготовке проекта уже есть всё не обходимое для CI/CD.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dmtrrr
Backend developer
Dockerfile очень зависит от путей, хранить в другом репозитории неудобно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы