Skip to content

Romanow/local-dev-with-docker

Repository files navigation

CI pre-commit License: CC BY-NC-ND 4.0

Использование Docker Compose для разработки и тестирования

Аннотация

Мы часто слышим, что Docker упрощает жизнь разработчиков и QA, но давайте разберемся, как им пользоваться в мире микросервисов? Поговорим, как с помощью Docker Compose собирать, тестировать и даже отлаживать весь ваш микросервисный зоопарк.

План

  1. Какую проблему мы хотим решить? (дать тестировщикам возможность локально запускать часть сервисов)
  2. Новые возможности Docker Compose:
    • Health Check.
    • Порядок запуска сервисов.
    • Отслеживание локальных изменений с через docker compose watch.
  3. Пример:
    • Использование Git Submodules для работы с конкретными ветками.
    • Secrets, Config и профили в Spring Boot.
    • Удаленная отладка (через -agentlib).
  4. Выводы: что получилось и какие есть ограничения в этом решении.

Доклад

Использование Git Submodules

# первичное добавление сервисов
for module in person-service person-frontend; do
  git submodule add -b master --name modules/$module https://github.com/Romanow/$module.git modules/$module
done
# затягиваем изменения
$ git submodule update --init --remote

# собираем проект
$ ./build.sh

# собираем в docker
$ docker compose build

# запускаем в docker, открыть страницу http://localhost:8880
$ docker compose up -d --wait

# запускаем коллекцию для проверки
$ newman run --delay-request 100 -e tests/local.json tests/collection.json

# остановка сервисов
$ docker compose down -v

About

Using docker compose for local development

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages