Как настроить локальный тестовый / сборочный компьютер?
Я собираюсь начать новый личный проект. Он нацелен на то, чтобы быть довольно большим, поэтому я подумал, что было бы неплохо сохранить какой-то CVS. Я также прочитал много интересного о модульном тестировании, и я хотел бы включить некоторую систему, которая автоматически собирает проект и запускает серию тестов после каждой регистрации. Характеристики:
- Только один разработчик и одна машина (только я и мой компьютер!).
- Включите CVS.
- Включите автоматическое тестирование.
- Программное обеспечение должно быть бесплатным (как бесплатно) и работать под Linux.
- Это будет C++ и ANTLR.
До сих пор я настроил SVN и Eclipse+CDT+ANTLR для разработки, но я довольно потерян в настройке автоматической сборки + тестирования. Чтобы написать тесты, я думал в Boost.Test или UnitTest++.
Так что это источник моего вопроса. Как мне настроить мою локальную машину для тестирования / сборки? Ссылки на ценные учебники приветствуются.
Благодарю.
2 ответа
Похоже, что большинство серверов с непрерывной интеграцией с открытым исходным кодом построены на Java и не поддерживают C++ "из коробки". Однако есть несколько ссылок, с которых вы можете начать (обратите внимание, что для запуска большинства серверов с непрерывной интеграцией с открытым исходным кодом вам нужна среда Java):
- Какой инструмент непрерывной интеграции лучше всего подходит для проекта C++ - несколько альтернатив для программного обеспечения непрерывной интеграции
- Непрерывная интеграция для C++ - некоторые идеи для конфигурации Hudson
- Использование CruiseControl с C++ - некоторые идеи и конфигурации для CruiseControl
- Компиляция кода C/C++ с помощью Ant - если вы используете "Makefile project" в CDT и не хотите использовать make в качестве инструмента сборки
Я лично предпочитаю Hudson из-за его простой установки (нет необходимости в сервере приложений, просто начните с java -jar hudson.war), а также простого в использовании и довольно "умного" интерфейса. Хадсон может извлекать ваш код из SVN (или CVS) и может запускать сценарий оболочки или файл Ant в качестве сценария сборки. Возможно, вам придется потратить несколько дней, чтобы настроить конфигурацию с помощью правильного сценария сборки, но я думаю, что это стоит времени.
Вид автоматического процесса, который вы смотрите, называется непрерывной интеграцией. Существует программное обеспечение, которое поможет вам в этом - хороший пример - JetBrains TeamCity. Вы также услышите о людях, использующих CruiseControl, Atlassian Bamboo и так далее.
Чтобы в полной мере воспользоваться этим, вы также можете взглянуть на автоматизированный инструмент сборки, такой как Ant или Mavenl; Ваша сборка с непрерывной интеграцией будет использовать его в качестве сборщика.
Хорошей отправной точкой была бы страница Мартина Фаулера на CI или страница Википедии.