Что такое программное обеспечение автоматизации сборки (например, Муравей)?

Следующее будет проверять IPv4, IPv6 (полный и сжатый) и IPv6v4 (полный и сжатый) адреса:

'/^(?>(?>([a-f0-9]{1,4})(?>:(?1)){7}|(?!(?:.*[a-f0-9](?>:|$)){8,})((?1)(?>:(?1)){0,6})?::(?2)?)|(?>(?>(?1)(?>:(?1)){5}:|(?!(?:.*[a-f0-9]:){6,})(?3)?::(?>((?1)(?>:(?1)){0,4}):)?)?(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?4)){3}))$/iD'
22
задан Dana 4 March 2009 в 21:30
поделиться

12 ответов

я уже знаю, что муравей является 'программным обеспечением автоматизации сборки', мой вопрос, что такое точно автоматизация сборки? Я думал, что Вы, как предполагается, тестируете свое приложение, и когда оно выполняет Вас, нажимают кнопку 'сборки' в затмении или через Java командной строки, и оно делает .jar файл из него? Итак, почему необходимо 'автоматизировать' этот процесс?

Не вся разработка Java сделана через затмение, и не все банки может быть создан из командной строки (или должен быть создан из командной строки).

Вы, возможно, должны дополнительно выполнить тестовые сценарии, модульные тесты и многих, многие другой процесс.

то, Что делает муравей, обеспечивают механизм для автоматизации всей этой работы (таким образом, Вы не должны делать этого каждый раз), и возможно можно вызвать этот скрипт Ant каждый день в 18:00

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

  • Подключение к серверу подрывной деятельности.
  • Загрузка/обновление с последней версией
  • Компиляция приложение
  • Выполнение тестовые сценарии
  • Пакет приложение (в банке, войне, ухе, или безотносительно)
  • Передают эту сборку двоичные файлы подрывной деятельности.
  • Устанавливают приложение в Перезапуске удаленного сервера
  • , сервер
  • Посылает электронное письмо со сводкой задания.

, Конечно, для других проектов это - излишество, но для некоторых других очень полезно.

24
ответ дан 29 November 2019 в 03:29
поделиться

rogeriopvl абсолютно корректен, но ответить Ваш, "я не могу только сделать этого путем нажатия на Run-> Run in Eclipse?" вопрос: это хорошо для проекта, что Вы продолжаете работать самостоятельно и не нуждаетесь в повторяемой, scriptable сборке в нескольких средах.

, Если Вы работаете над проектом с открытым исходным кодом, однако, или профессиональным программным обеспечением, которое должно быть в состоянии основываться на сервере сборки и т.д., требуя, конкретный IDE для выполнения не является хорошей идеей.

17
ответ дан 29 November 2019 в 03:29
поделиться

Муравей используется для автоматизации процесса сборки, но процесс сборки часто намного больше, чем компилирует. У муравья есть "задачи", которые могут использоваться для выполнения разных полезных функций. Можно создать собственную задачу сделать примерно что-либо путем записи класса Java и сообщения муравью, где найти его. Можно тогда смешать и соответствовать этим задачам создать цели, которые выполнят ряд задач.

можно также настроить динамическую среду, в которой можно создать приложение. Можно настроить файлы свойств для содержания переменных, которые могут использоваться в процессе сборки, т.е. содержать пути к файлам, пути к классам, и т.д. Это полезно, например, для дифференциации между тестом и производственными сборками, где пути развертывания, экземпляры базы данных, и т.д. могли бы измениться. Муравей также включает управление потоком (если, и т.д.)

Некоторые вещи, которые я видел, что муравей делает:

  • код Компиляции
  • управление версиями Использования к контролю последняя версия или отмечать версию, создаваемую
  • Выполнение sql сценарии, чтобы создать или восстановить тестовую базу данных
  • , файлы Копии от внешнего ресурса для включения в проект
  • код Пакета в банку, войну или файл
  • уха Развертывают веб-приложение на Перезапуске сервера приложений
  • , сервер приложений
  • Выполняет набор тестов
  • Статический анализ, т.е. CheckStyle или , PMD
  • Посылает электронное письмо команде для предупреждения их к сборке.
  • Генерируют файлы на основе информации от сборки.
    • Пример: у Меня есть jsp в моем приложении, которое действительно только отображает информацию о версии/сборке. Это сгенерировано муравьем, когда я выполняю сборку, и команда производственной деятельности проверяет эту страницу, когда они развертывают приложение, чтобы удостовериться, что они развернули корректную сборку.
11
ответ дан 29 November 2019 в 03:29
поделиться

Во многих более крупных компаниях (и вероятно некоторые меньшие), Вы найдете, что производственный код не создается людьми, которые разработали его . Вместо этого разработчики могут проверить свой код в репозитории исходного кода и отметить его. Тогда они дают этот тег команде сборки.

команда сборки, в отдельной (чистой) области - возможно на некотором бездисплейном сервере (т.е. без GUI) - тогда проверит код и выполнит сценарий сборки. Сценарий сборки будет абсолютно независим от настольной среды / IDE .

Это гарантирует, что ничто, что, оказывается, находится на компьютере любого разработчика, не "загрязняет" сборку. (Или более вероятно ничто вне управления исходным кодом не требуется, чтобы система работала!)

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

пз. Вы могли бы также хотеть посмотреть на идею Непрерывная Интеграция

8
ответ дан 29 November 2019 в 03:29
поделиться

Муравей для автоматизации процессов сборки программного обеспечения:

http://en.wikipedia.org/wiki/Apache_Ant

5
ответ дан 29 November 2019 в 03:29
поделиться

Муравей позволяет ХРУСТЯЩИЙ КАРТОФЕЛЬ (завершенный, повторяемый, информативный, schedulable, портативный) сборки. Можно найти большую информацию о нем в этом представление Mike Clark и в его книге, Прагматическая Автоматизация Проекта .

4
ответ дан 29 November 2019 в 03:29
поделиться

Короткий ответ - то, что Муравей является отличным способом создать сборку завершенного проекта, которая независима от какого-то конкретного инструмента, который может использовать любой разработчик. Без независимой сборки вещи могут выйти из строя быстро - специально для команд крупного проекта.

И теперь для длинного ответа... Я был приведен в несколько проектов без любого смысла независимой сборки. На одном проекте был один парень, который не был разработчиком, для которого определили задачу с созданием и развертыванием программного обеспечения. Он создал 147 пакетных файлов отдельных окон для компиляции каждого EJB, каждого сервлета и каждого клиентского компонента. Не было никакой проверки ошибок на эту сборку. Все сообщения журнала, включая сообщения об ошибках перешли к стандарту. Было его дело вручную распознавать путем чтения этого журнала, каким исключением или распечатанным сообщением было нормальное и какое сообщение было ошибкой. Он также должен был развернуть это программное обеспечение, которое он просто создал. Развертывание было одинаково сложно, так как было несколько сбалансированных с загрузки уровней. Каждый модуль должен был быть помещен в правильное место вручную с установкой опций для соответствия нисходящим и восходящим уровням. Создание и развертывание этого программного обеспечения взяли его по крайней мере 3 дня с помощью этого метода. Конечно, только тогда мог любой определять, "работала" ли сборка. Обычно, после этого периода все программисты боролись бы для отладки сборки. Программисты сказали бы, что мой модуль хорошо работает в моем IDE. Я просто нажимаю выполненный как это, вижу?

Действительно, отдельные программные модули обычно работали, но сборка и развертывание были ужасно неэффективны. И столь же плохо, для любого было одинаково трудно развернуть сборку больше чем на одной среде. Управление сказало бы, хорошо у Вас теперь есть эта сборка, работающая в нашей среде регрессионного тестирования. Теперь разверните ту же самую сборку в этой другой среде, таким образом, парни продаж могут продемонстрировать и ближайшее программное обеспечение. Это должно быть просто сделать, но также потребовалось по крайней мере 2 дня, сопровождаемые "отладкой сборки" период. Сборки и развертываются, никогда не были просты и никогда точны. Это действительно замедлило проект.

Так или иначе, мы заменили эту всю процедуру полной основанной на муравье сборкой, и разверните механизм. Конечный результат состоял в том, что полная сборка могла быть создана и развернута меньше чем через 30 минут, полностью автоматизированных. Парень QA, управляющий сборками и, развертывается, мог сохранить электронную доску, которой среда имела, какая сборка, развернутая на нем и какая группа использовала ту среду. Это было чем-то, что было просто не возможно со старой системой.

6
ответ дан 29 November 2019 в 03:29
поделиться

Муравей является инструментом сборки, сродни make-файлам (хотя с совсем другим синтаксисом в XML). Если Вы только используете Eclipse, хорошо придерживаться этого, и можно всегда преобразовывать файл типа "build" Муравья в проект Eclipse (конфигурации запуска Eclipse тогда, если я помню правильно, эквивалент целей сборки Муравья).

, Если Вы хотите развернуть исходный код приложения и позволить другим легко создавать или настраивать его, автоматизируя того Муравья использования, вероятно, не плохая идея. Но это обычно - не последовательный опыт для пользователей, или по крайней мере я не видел большого согласия по тому, чем цели должны быть там и выполнение что до сих пор.

Муравей может также использоваться для регулярных автоматизированных сборок (Вы не хотели бы поражать Выполнение в Eclipse каждую ночь, правильно?:-))

2
ответ дан 29 November 2019 в 03:29
поделиться

Вы также обращаетесь к"" файл типа "build" муравья Экспорта ".

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

кроме того, можно настроить 'разработчики' проекта (project properties » Builders) для выполнения любого сценария (муравей, или иначе) Вы хотите, когда Вы разрабатываете проект, вручную или автоматически.

0
ответ дан 29 November 2019 в 03:29
поделиться

Joel (Spolsky) имеет большая статья о "Тесте Joel". Многие из них вращаются вокруг способности часто делать важные вещи, быстро и надежно. Одной из тех вещей является Ваша сборка.

0
ответ дан 29 November 2019 в 03:29
поделиться

Eclipse использует муравья для создания, выполнения, развертывания...

"Муравей является основанным на Java инструментом сборки. В теории это отчасти похоже, Делают, без морщин Make и с полной мобильностью чистого кода Java". (от текст ссылки

-1
ответ дан 29 November 2019 в 03:29
поделиться

Если бы существует один близко к Вам, я думаю, что Вы вытащили бы много из CITCON, Непрерывная Конференция по Интеграции и Тестированию. Вы добираетесь для разговора с большим количеством людей о преимуществах автоматизации, к которой относятся, создавая и тестируя программное обеспечение.

В основном люди используют Муравья (с другими инструментами) для автоматизации всего, что они хотят иметь, происходят после фиксации. Основные преимущества такой автоматизации являются быстрее, лучше и более дешевыми.

Быстрее , потому что вещи происходят сразу же, не ожидая человека для возвращения для него.

Лучше , потому что компьютеры действительно действительно хороши в выполнении того же самого тем же путем каждый раз. (Люди склонны сосать в этом.)

Более дешевый , потому что у Вас есть меньше ошибки и ошибки, которые происходят, пойманы раньше и поэтому более дешевый для фиксации.

2
ответ дан 29 November 2019 в 03:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: