Hudson - хороший инструмент для управления вашими работами по сборке и тестированию. И у него есть плагин Selenium .
Отредактировано, чтобы дать лучший ответ :
Ваш вопрос довольно широкий, с небольшим количеством подробностей о вашей ситуации или реальных проблемах, с которыми вы столкнулись, поэтому я дам вам краткий обзор, основываясь на моем опыте.
Автоматизация сборки - это хорошо. Хорошо выявлять сбои сборки и тестировать сбои как можно скорее. Я рекомендую автоматизировать ваши тесты в стандартной среде, чтобы они выполнялись как можно быстрее после фиксации. И я рекомендую сделать вашу версию сборки такой же простой и воспроизводимой, как нажатие кнопки.
Мартин Фаулер имеет хороший список рекомендуемых практик .
И предыдущий вопрос содержит описание того, как запускать модульные тесты Javascript с помощью CI.
В частности, в отношении Hudson мы используем Hudson, потому что он гибкий, он позволяет центральному серверу управлять сборками на ведомых устройствах Windows и Linux, а также имеет плагины для поддержки множества различных рабочих процессов и инструментов.
Что касается зависимостей, Hudson позволяет запускать сборки по завершении других сборок, что хорошо для запуска различных тестов после успешной сборки продукта. Если вы спрашиваете, как следует обращаться с внешними зависимостями, вам придется выяснить, какая политика имеет смысл, основываясь на дизайне и требованиях вашего приложения. Недавно я видел пару других вопросов о javascript, касающихся того, как обрабатывать такие зависимости.