Самый эффективный способ перейти от Eclipse Project к Hudson Build - PullRequest
3 голосов
/ 24 февраля 2011

Мы хотим использовать Hudson / Jenkins для создания нашего проекта, который в настоящее время полностью реализован в Eclipse.Из того, что я могу сказать, есть различные способы перехода от A к B или от E к H, как это было: экспортировать как скрипт Ant, экспортировать как скрипт Maven, экспортировать как Runnable JAR при создании сценария Ant для этого и т. Д.

Все вышеперечисленное, похоже, объединяет то, что между «Это работает в Eclipse» и «Хадсон производит что-то, что работает», есть несколько независимых шагов, например, вы можете изменить свой проект, зафиксироватьSVN и вызвать сборку Hudson, но если вы не помните «Экспорт как сценарий муравья» между ними, произойдет сбой.

Существует ли решение «один во всем»?Я не беспокоюсь о количестве кликов, но вместо этого о различных промежуточных шагах, которые, чтобы усугубить ситуацию, нужны только иногда.Вкратце: я ищу что-то от «Я могу нажать на кнопку« Выполнить », и это работает» »до« Хадсон производит что-то, что работает », при этом каждый разработчик не должен помнить каждый дополнительный шаг между ними.

Идеи?

Редактировать: Все ответы до сих пор, кажется, страдают от одной и той же проблемы: это все параллельное развитие.У вас есть конфигурация запуска Eclipse, и у вас есть Maven / Ant / Wh независимо от сборки.Если вы измените свою конфигурацию запуска, вам нужно будет позже вспомнить, чтобы изменить сборку Maven / Ant / Wh независимо, закрепить ее, а затем НАДЕЕТСЯ, чтобы все другие разработчики заметили изменение сборки Maven / Ant / Wh независимо во время их ежедневного обновления SVN,вручную откройте файл, проверьте изменения и затем продублируйте эти изменения в своих собственных конфигурациях запуска.Кажется, что это просто попрошайничество над ошибками и ошибками, разве нет ничего, что должным образом интегрировано с конфигурациями запуска Eclipse?

Ответы [ 3 ]

3 голосов
/ 24 февраля 2011

Hudson может создавать проекты Maven или Ant, поэтому первым шагом является получение воспроизводимой сборки с помощью любого инструмента, который необходимо настроить только один раз.Затем вам нужно взять этот файл pom.xml или build.xml и передать его в Subversion.Это необходимо, поскольку Hudson не будет открывать Eclipse и вместо этого будет использовать командную строку для выполнения сборки.

Затем вы можете настроить новое задание Hudson, которое будет наблюдать Subversion за любыми изменениями.Ваши разработчики могут использовать свой обычный рабочий процесс, где они используют Eclipse для создания сборок и внесения изменений в систему контроля версий, когда они будут готовы.Хадсон увидит это и создаст новую копию базы кода, а затем выполнит свою собственную компиляцию и сообщит о любых проблемах.

Лично я предпочитаю Maven2, поскольку я знаю, что Хадсон имеет надежную интеграцию с ним ибудет делать такие вещи, как запускать ваши тесты JUnit.Затмение раньше было болезненным с Maven, но теперь есть плагин m2eclipse .

0 голосов
/ 24 февраля 2011

Мигрируя в Maven, Hudson отлично интегрируется с Maven.

Maven 3 + Archiva делает очень мощную систему сборки.Конечно, есть и другие менеджеры репозитория, но Archiva делает достаточно для того, что мне нужно.

Как только вы получите Maven, вам действительно интересно, как вы обходились без него до этого.Этому очень помогает выделенный частный менеджер репозитория, поэтому Archiva важна для микса.

0 голосов
/ 24 февраля 2011

Я бы попробовал http://www.ant4eclipse.org/.

Это позволяет вам построить ваш проект eclipse из файла ant.Из первого абзаца здесь: http://www.ant4eclipse.org/node/6 это звучит очень похоже на то, что вы хотите.С помощью ant4eclipse ant получит доступ к вашему проекту eclipse, и затем он сможет строить через Hudson.

Цель проекта ant4eclipse - избежать (или, по крайней мере: уменьшить) избыточность Eclipse иКонфигурации муравья.Точнее: он состоит из задач Ant, которые могут читать и работать с некоторыми файлами конфигурации Eclipse.

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