Pull to refresh

Comments 2

Немного не понял самой задачи, если мы хотим иметь образ с сразу заполненной БД, то ок. Но если идёт разговор о запуске java-приложения (такое предположение я сделал из использования gradle) с инициализированной БД, то надо ли так усложнять?

Можно добавить в gradle ещё один task, который будет запускать docker-compose файл. В docker-compose прописать volume с ссылкой на нужные скрипты.

Более того, мы можем сразу положить наше приложение в docker-compose, если предварительно соберём его и положим в корень Dockerfile
Задача, в том числе, максимально упростить вход разработчика в приложение, чтобы все инструкции по сборке и запуску приложения, от многодневных попыток, как это было еще с год назад, сводились к:

git clone …
./gradlew dockerRun


При этом бы приложение бы сразу запустилось, но не с игрушечной базой (как обычно делают вроде in-memory H2 для тестов с парой записей), а с базой, на которой, в том числе гоняются интеграционные и перфоманс тесты на CI и чтобы воспроизвести можно было 99.9% проблем из продакшена.

Более того, я для простоты этот шаг убрал, чтобы не засорять описание, но имея стабильную master ветку, я ещё прогоняю все имеющиеся там миграции на БД (c помощью flyway) в момент билда — так, чтобы эта база запускалась бы моментально.
Sign up to leave a comment.

Articles