2009-07-11 2 views
1

Я собираюсь начать новый личный проект. Он стремится быть довольно большим, поэтому я подумал, что было бы неплохо сохранить какой-то CVS. Кроме того, я прочитал много интересного о модульном тестировании, и я хотел бы включить некоторую систему, которая автоматически создает проект и запускает серию испытаний после каждой проверки в характеристики являются:.Как настроить локальную машину для тестирования/сборки?

  • только один разработчик и одна машина (только я и мой компьютер!).
  • Включить CVS.
  • Включите автоматическое тестирование.
  • Программное обеспечение должно быть бесплатным (как без каких-либо затрат) и работать под Linux.
  • Это будет C++ и ANTLR.

До сих пор я разработал SVN и Eclipse + CDT + ANTLR для разработки, но я довольно потерял автоматическую настройку сборки + теста. Чтобы написать тесты, я думал в Boost.Test или UnitTest ++.

Так что это источник моего вопроса. Как мне настроить локальную машину для тестирования/сборки? Связи с ценными учебниками более чем приветствуются.

Спасибо.

ответ

2

Похоже, что большинство серверов непрерывной интеграции с открытым исходным кодом построены на Java и не поддерживают C++ «из коробки». Однако есть некоторые ссылки, вы можете начать с (обратите внимание, что для запуска наиболее открытого исходного код непрерывных серверов интеграции нужна среда Java):

Я лично предпочитаю Hudson из-за его простой установки (нет необходимости в том, чтобы сервер приложений начинался с java -jar hudson.war) и прост в использовании и довольно «умный» gui. Хадсон может проверить ваш код из SVN (или CVS) и может запускать сценарий оболочки или файл Ant в качестве скрипта сборки. Возможно, вам нужно потратить несколько дней, чтобы настроить конфигурацию с правильным скриптом сборки, но я думаю, что это стоит того времени.

+0

+1 для Хадсона здесь. Это потрясающий двигатель сборки –

1

Тип автоматического процесса, который вы смотрите, называется непрерывной интеграцией. Существует программное обеспечение, которое поможет вам в этом - хорошим примером является JetBrains TeamCity. Вы также услышите о людях, использующих CruiseControl, Atlassian Bamboo и т. Д. Для этого.

Чтобы воспользоваться всеми преимуществами этого, вы также можете посмотреть автоматическое средство сборки, например Ant или Mavenl; ваша сборка с непрерывной интеграцией будет использовать это как бегун для сборки.

Хорошей отправной точкой будет Martin Fowler page on CI или Wikipedia one.