Подтвердить что ты не робот

Дженкинс и Мейвен

В чем разница между Maven и Jenkins?

Оба поддерживают автоматизированные сборки и автоматическое выполнение JUnits.

Если да, являются ли они бесплатными или взаимоисключающими? Когда один должен быть использован поверх другого?

4b9b3361

Ответ 1

Maven создает инструмент/среду. Дженкинс - инструмент CI (непрерывной интеграции).

Maven больше похожа на замену Ant.

  • Он помогает построить проект через plugins, например, управление версиями и версиями, тесты JUnit и т.д.
  • Он управляет зависимостями вашего проекта. вы определяете, как должен строиться проект (плагины) и какие библиотеки необходимы (зависимости) в файле pom.xml.

Дженкинс как умный планировщик заданий не может помочь вам в таких задачах, как контроль версий или тест JUnit, однако он может косвенно помочь вам со всем этим, совершив вызовы в файл pom.xml в вашем проекте. И Дженкинс дает вам право решать, когда вызывать файл pom.xml, исходя из того, какое условие вызывать, и что вы хотите сделать с результатом. и Дженкинс может слушать разные события, например svn commit, текущее время - полночь и т.д.

Это мощная идея. Например, вы можете попросить Дженкинса инициировать сборку или выполнить все тесты JUnit всякий раз, когда совершен новый код, а затем, если модульные тесты передаются, развертываются на целевой машине. или планировать тяжелые задания в полночь, например, модульные тесты. Это основная идея автоматического развертывания или непрерывной интеграции AKA. CI для краткости, если хотите.

Ответ 2

Maven - это инструмент для сборки, который управляет зависимостями и жизненным циклом приложения. Он также имеет дизайн подключаемого модуля, который позволяет добавлять другие задачи в стандартные задачи компиляции/тестирования/упаковки/установки/развертывания.

Jenkins - это пакет непрерывной интеграции, который проверяет ваш код из репозитория, собирает и упаковывает его, а также выгружает на сервер, чтобы вы могли его протестировать - и все это на практике. Он может использовать Maven или Ant в качестве инструмента для сборки.

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

Ответ 3

Первый абзац страницы Jenkins Maven plugin wiki объясняет взаимодействие между Дженкинсом и Мейвеном:

"Управление заданиями Дженкинса непросто, когда их много, особенно если некоторые параметры должны быть одинаковыми среди многих заданий." jenkins-maven-plugin "позволяет генерировать задания Jenkins, один" config.xml "для каждого задания, от простого Maven POM. Таким образом, мы можем управлять работой Jenkins в одном месте, повторно используя любую конфигурацию между ними".

Ответ 4

Maven - это инструмент построения, короче говоря, преемник ant. Это помогает в управлении версиями и версиями.

Однако Дженкинс - система непрерывной интеграции, где в maven используется для сборки. Дженкинс может использоваться для автоматизации процесса развертывания. Когда когда-либо будет совершен новый код, автоматически запускайте все тестовые примеры Junit и, если они переданы, упакуйте и разверните проект в определенном месте.