Я работаю в софтверной компании, где основным языком разработки является Java.Естественно, мы используем Hudson для непрерывных сборок, для которых он прекрасно работает.Однако Хадсон не так хорош в некоторых других вещах, которые мы просим сделать.Мы также используем задания Hudson для развертывания двоичных файлов, обновления баз данных, запуска нагрузочного тестирования, запуска регрессий и т. Д. Мы действительно сталкиваемся с проблемами при наличии зависимостей сборки (т. Е. Нагрузочное тестирование требует обновления БД).
Вот одна вещьчто Hudson не делает того, что нам действительно нужно:
Зависимость сборки: он поддерживает зависимости сборки для сборок Ant, но не для заданий Hudson.Мы используем функцию вызова URL, чтобы заставить задание Hudson вызывать другое задание Hudson.Проблема в том, что Хадсон всегда возвращает 200 и не блокирует, пока работа не будет выполнена.Это означает, что вызывающее задание не знает а) если сборка не удалась и б) если она не удалась, сколько времени это заняло.
Было бы неплохо не использовать сценарии оболочки для указанияповедение сборки, но это не совсем необходимо.
Любое направление было бы неплохо.Возможно, мы неправильно используем Hudson (т. Е. Должны ли все сборки быть сборками Ant?) Или нам нужен другой продукт для развертывания одним щелчком, нагрузочного тестирования, миграции, обновления БД и т. Д.
Редактировать:
Для пояснения, у нас есть параметры в наших сборках, которые могут вызывать различные зависимости в зависимости от параметров.Т.е. иногда мы хотим нагрузочное тестирование с обновлением БД, иногда без обновления БД.К сожалению, создание задания Hudson для каждой комбинации параметров (как требует плагин Join) не будет работать, потому что иногда разные комбинации могут привести к десяткам заданий.