"CruiseControl" Автоматизация для проектов C ++? - PullRequest
4 голосов
/ 19 мая 2009

У нас есть проект C ++, который в настоящее время использует для сборки Make на Linux. Я хотел бы автоматизировать его, как Java-проект под CruiseControl.

1) Существует ли проект, аналогичный CruiseControl для проектов C ++?

ИЛИ

2) Есть ли хорошие практические рекомендации по использованию CruiseControl для проектов C ++?

Ответы [ 5 ]

6 голосов
/ 19 мая 2009

Я пытался настроить CruiseControl для проектов C ++ в Linux, но наткнулся на Hudson . Он имеет один файл / одну настройку командной строки, и вы все в порядке. Управление доступом осуществляется через приятный веб-интерфейс. Я очень рекомендую это.

По сравнению с CC, Hudson проще в настройке и управлении, к тому же у вас есть доступ к статистике сборки, ошибкам / предупреждениям с помощью плагинов (откройте каталог, и они доступны), и вы можете настроить его на автоматическую отправку электронной почты при сбое сборки. *

Я создал сценарий оболочки, который вызывает make для каждого каталога проекта. Я указал Хадсону запустить этот скрипт. Сборка настраивается через cron, как настройки - настройка через веб-интерфейс. У меня он каждые 30 минут проверяет изменения кода и получает сборку по производительности и перекомпиляции.

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

3 голосов
/ 19 мая 2009

Я не знаю CruiseControl, так как мы используем TeamCity, но CruiseControl должен иметь возможность выполнять сборку из командной строки, то есть просто вызывать Make. В этом нет ничего плохого. В TeamCity даже легко добавлять уведомления о прогрессе в файл make (просто вывод в определенном формате), поэтому он не сильно отличается от «нативных» проектов. Я не знаю, как далеко заходит CruiseControl в этом отношении.

У нас есть большой проект C ++, построенный с использованием CMake, который запускается из командной строки, и он даже правильно сообщает результаты модульного теста (с Boost :: Test).

О, и если CruiseControl не поддерживает запуск командной строки или типы проектов, отличные от Java, вам следует взглянуть на TeamCity в качестве замены.

1 голос
/ 19 мая 2009

Мы запускаем Хадсон , чтобы создать смесь кода C ++ и Java, и она работает очень хорошо. Одним из преимуществ CruiseControl является то, что Hudson имеет полноценный веб-интерфейс, поэтому вам никогда не придется редактировать XML-файлы вручную.

0 голосов
/ 19 мая 2009

Мы используем CruiseControl для проектов C ++. Мы просто запускаем devenv.com в сценарии Ant, используя exec для создания решения.

0 голосов
/ 19 мая 2009

Мы используем cruisecontrol для создания наших проектов на C ++ и Java. Наши C ++ проекты используют SCons вместо make, и мы просто вызываем scons из сценария cruisecontrol Ant через задачу exec Ant.

...