Какие наборы инструментов существуют для непрерывной интеграции с C ++? - PullRequest
30 голосов
/ 25 августа 2008

Наборы инструментов для непрерывной интеграции для .NET, Java и других языков относительно хорошо определены, но рынок C ++, похоже, обладает большим разнообразием.

Под CI "toolchain" я имею в виду инструменты для скриптов сборки, автоматического тестирования, проверки стандартов кодирования и т. Д.

Что команды C ++ используют для цепочек инструментов CI?

Ответы [ 6 ]

7 голосов
/ 30 декабря 2010

Мы реализовали нашу инфраструктуру непрерывной интеграции C ++ с использованием Parabuild

http://www.viewtier.com/products/parabuild/screenshots.htm

Мы смогли интегрировать все средства Win / Mac / Linux QA с ним, и его очень легко установить и обслуживать: установка в один клик на каждую платформу и веб-интерфейс очень удобны.

При оценке нескольких серверов непрерывной интеграции основная проблема заключалась в том, что они были ориентированы на Java: с другой стороны, Parabuild хорошо вписывается в кроссплатформенную разработку C ++ и рабочий процесс QA

7 голосов
/ 11 июня 2009

Другой вариант может быть buildbot .

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

2 голосов
/ 25 августа 2008

Visual Build Professional - мой любимый инструмент для объединения всех других инструментов. Конечно, только для Windows, но она интегрируется со всеми разновидностями Visual Studio и множеством инструментов тестирования, инструментов управления исходным кодом, средств отслеживания ошибок и т. Д. Однако - это только окна. Я знаю, что это не весь стек, но это начало.

1 голос
/ 26 августа 2008

G'day,

Мы действительно столкнулись с этой проблемой на сайте, где я ранее заключал контракт.

Один парень сел и написал инструменты, в основном сценарии оболочки, для

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

Мы просто не смогли найти ничего коммерчески доступного для этого, поэтому Чарли сел и написал это в сценариях оболочки bash, и он работал на HP-UX.

ура, Rob

0 голосов
/ 13 ноября 2009

Мы использовали scons для непрерывной интеграции, выполняемой центральным сервером сборки. Некоторые проекты мигрировали в buildbot .

Сейчас я вхожу в рейк и рассматриваю решения, описанные в этом блоге . Фаулер упоминает, что ThoughtWorks иногда использует rake для сценариев сборки в своей статье Continuous Integration .

0 голосов
/ 11 июня 2009

Как и в случае с любой другой задачей в C ++, я просто хромаю вместе с непрерывной интеграцией. Моя установка начинается с Eclipse. Я установил его для создания файлов make для моих проектов. У меня есть ant-скрипты, которые выполняют общие задачи сборки, выполняя «make all» или «make clean» для соответствующих make-файлов. Эти ant-скрипты являются частью моего проекта, и я должен обновлять их, когда добавляю новую конфигурацию сборки или новую часть в систему. Это не так плохо, хотя.

Я использую CruiseControl для запуска сборок. Каждый проект (каждый из них) имеет собственный скрипт ant, который выполняет специфические задачи сборки (копирование артефактов, результаты обработки), вызывая скрипт ant проекта для построения.

Мне пришлось использовать cppunit для моего тестирования и обработать результаты с помощью файла xslt, который я где-то нашел. У меня также неправильный ярлык svn-ревизии в каждой сборке, потому что я не могу найти подходящий svn-ярлык. Все, что я могу найти, это наполовину законченный летний код, и люди утверждают, что другие люди делают это неправильно.

Мне кажется, что CC - умирающая система, но я не нашел ничего лучше для C ++. С другой стороны, я также чувствую, что C ++ - умирающий язык, так что, возможно, он больше, чем просто этот.

...