2014-10-15 2 views
2

У нас есть большой проект maven maven, который использует груз для запуска tomcat с некоторыми войнами, плагин для вставки данных sql в базу данных postgres, а затем с использованием огурца мы запускаем тестовый тест интеграции.Java Maven Project Docker Integration Tests

Я много читал о Докере, и я мог поиграть с ним. Так вот мой вопрос:

Может ли Docker заменить мой интеграционный тест, который использует груз?

Каковы преимущества?

Как насчет производительности по сравнению с развертыванием с использованием груза?

Может ли набор, который запускает контейнеры с изображениями postgres и tomcat, улучшает время сборки?

Надеюсь, что кто-то может помочь мне здесь, потому что я довольно ушел из докера!

ответ

1
  • Может ли Docker заменить мой интеграционный тест, который использует груз?

Да Continuous Integration Using docker. Этот причал может пригодиться.

  • Как насчет эффективности по сравнению с развертыванием с использованием груза?

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

  • Может ли пакет, который начинает контейнеры с Postgres и TOMCAT изображений улучшить время сборки

Может быть, зависит от того, что вы делаете в данный момент. Вы можете создать известное состояние в контейнере докера и если вы ранее вручную создали это состояние, вы можете обнаружить, что сборка будет быстрее.

Настоящий benifit docker заключается в том, что вы можете иметь хорошо известное состояние в своей постгрессивной базе данных, и тесты всегда работают против этого известного состояния. Кроме того, вам не нужно, чтобы все в вашей команде устанавливали postgress локально. Просто нужно установить докер, а затем остальные будут автоматизированы. Пожалуйста, часто используйте докер в сочетании с Vagrant, так что даже установка докеров может быть написана и автоматизирована.