CruiseControl – свободный инструмент непрерывной интеграции программного обеспечения на платформе Java, нацеленный на автоматизацию процесса сборки. Управление и просмотр информации о сборках осуществляется через веб-интерфейс. Интегрируется с Apache Ant, различными системами управления версиями.
CruiseControl является бесплатным программным обеспечением с открытым исходным кодом, распространяется под BSD-подобной лицензией. Первоначально он был создан сотрудниками компании ThoughtWorks (включая Мартина Фаулера), чтобы обеспечить непрерывную интеграцию проекта, над которым они работали. Позднее он был выделен в отдельное приложение.
Существует версия CruiseControl для Microsoft .NET Framework называемая CruiseControl.NET (CCNet) и версия для Руби, называемая CruiseControl.rb.
Цикл сборки (Build Loop) представляет собой демон-процесс, периодически проверяющий систему управления версиями на изменения в кодовой базе, производящий в случае необходимости сборку и публикующий извещения о её статусе.
CruiseControl предоставляет два способа отчётности о статусе сборки. Первый (классический) использует технику JSP (JavaServer Pages), а второй – метод приборной панели (Dashboard).
Это представление результатов цикла сборки CruiseControl основано на HTML-тексте, управляемом JSP-страницей. В левой части страницы отображается, строит ли CruiseControl в настоящее время проект и предоставляются ссылки на детали предыдущих сборок. В правой части страницы представлены результаты сборки, в том числе ошибки компиляции, результаты тестов и информация о том, какие файлы были изменены с момента последней сборки.
Приборная панель (Dashboard) была введена в релизе 2.7. Она представляет собой веб-страницу, визуализирующую статус сборки проекта. Предыдущие результаты сборки проекта обозначены цветами, обеспечивая снимок того, что проекты делают в данный момент. Пользователи могут наводить курсор на значки, чтобы увидеть имя и информацию о том или ином проекте. Вкладка “Builds” приборной панели показывает все проекты (в цветовом кодировании), отсортированные по имени для предоставления некоторых дополнительных сведений.
Ссылки