Hudson на Windows: что лучше - Ant-файлы или Batch-файлы? - PullRequest
4 голосов
/ 05 апреля 2011

У меня есть несколько серверов hudson для нашего процесса CI.

В задачах сборки используются сценарии Ant, а также файлы * .bat старой школы.

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

(я думаю о читабельности, знакомстве с разработчиками и расширяемости ...)

Есть ли другие варианты?Для тестирования у нас есть приложения .Net, Java и PHP.

Ответы [ 2 ]

10 голосов
/ 05 апреля 2011

Batch - это язык программирования (и при этом не очень хороший).Ant - это язык матрицы зависимостей .В чем разница?

  • В языке программирования вы указываете порядок, в котором все встречается. Вы несете ответственность за то, чтобы сказать, что построено и порядок.

  • В языке матриц зависимостей вы просто указываете зависимости, и программа выясняет, что делать и в каком порядке следует выполнять. Одна из самых больших проблемС помощью Ant или Make разработчики должны попытаться форсировать порядок сборки, а не позволять системе сборки позаботиться об этом.

Сборки всегда должны выполняться с использованием языка матриц зависимостей.как Ant.

Пусть Ant определит, что нужно построить и в каком порядке.Не используйте пакетный режим.Если вы используете пакетные сценарии для вызова группы сценариев Ant в том порядке, в котором, как вы думаете, они должны вызываться, вы делаете это неправильно.Сделайте так, чтобы мастер-скрипт Ant сделал это и использовал <subant> вызовы.Позвольте Ant делать сложные вещи.

Вы можете использовать пакетный скрипт для выполнения предварительной работы (например, установка ANT_OPTS, если Ant требует больше памяти, или установка переменных среды, таких как ANT_HOME и JAVA_HOME и вашей переменной% PATH%, равнойубедитесь, что вы используете правильные версии Java и Ant. В Hudson вы можете установить все это в самом задании Hudson, поэтому вам не нужно вызывать пакетный скрипт.

4 голосов
/ 05 апреля 2011

*. Bat файлы в значительной степени ограничивают вас dos / windows, например сценарии оболочки для linux, тогда как Ant / Maven является кроссплатформенным и дает вам возможность использовать CI-сервер не-Windows

...