2009-04-16 2 views
4

Я новичок в создании автоматизации и непрерывной интеграции, но провел обширные исследования по этой теме.Современный инструмент для сборки, подходящий для Visual Studio MSBuild

Сначала вопрос: если у меня есть неуправляемый файл Visual C++ .sln, и что я могу его создать с помощью MsBuild, какой современный инструмент построения следует выбрать, что позволяет мне легко выполнять шаги до и после сборки?

Мне не нужен «старый» инструмент построения, такой как Ant, Nant, make, с его беспорядком XML. Я хочу что-то, что может позволить мне свободно выражать то, что я хочу сделать с помощью человека. Основываясь на моих исследованиях, кажется, что Waf, Scons и Rake могут соответствовать законопроекту.

Фон моей среды: Мой контроль источника - Subversion. Моя модульная тестовая среда - это GoogleTest, которая создает JUnit-совместимые файлы XML. Я выбрал JIRA для моего инструмента отслеживания. Я выбрал TeamCity для моего сервера CI. Я использую Visual Build для создания моего .sln-файла.

Я хочу, чтобы иметь возможность написать простой скрипт сборки (вызываемый из моего CI-сервера), который будет:

1) Создание каталога рабочего пространства CI сервера.
2) Проверьте код из SVN. (мои репозитории настроены на использование svn: externals для вытягивания зависимостей из моего другого репозитория)
3) Запустите файл сборки Visual Build, чтобы собрать все комбинации проектов/платформ в .sln. инструменты анализа/динамический код
4) Выполнить статический анализ кода
5) Сбор результатов от MSBuild (будь то сбой компиляции, предупреждения анализа статического/динамического кода, или модульного тестирования терпят неудачу, и т.д.) для CI сервера
6) журналов ДИ сервера это, а также связывает его с JIRA.

+0

Работа с проектами MSBuild и C++ действительно беспорядок, потому что .vcproj не является родным форматом MSBuild, например .csproj, но особым образом обрабатывается MSBuild. – mmmmmmmm

+0

Я не уверен, что вы имеете в виду. У меня есть .sln-файл, содержащий несколько проектов. чтобы скомпилировать его, мне просто нужно ввести msbuild .sln..and работает как шарм. – sivabudh

+0

Итак, каков ваш реальный вопрос? Кажется, вы уже определили ответ. –

ответ

4

Наряду с компиляцией кода Visual Build может использоваться для извлечения источника и запуска ваших инструментов анализа (и имеет приятный графический интерфейс, который позволяет скрыть любой «беспорядок xml».) Ваш CI-сервер должен иметь метод интеграции внешних журналов в сборку.

4

Hudson Java build tool имеет плагин MSBuild и Nant. Также доступны плагины: fxcop и некоторые из забавных модульных тестовых библиотек, которые вы используете C# guys.

Я бы сказал, что это лучший бесплатный доступный на рынке. Он может также вызвать из командной строки приложения и т.д.

http://wiki.hudson-ci.org/display/HUDSON/Installation+and+Execution Карл

3

только для других, которые находят эту страницу (как я): проверить эти инструменты для CI сборки сервера: Pulse TeamCity AnthillPro (это очень полезно, но также требует многого, чтобы учиться) CruiseControl

Pulse и TeamCity могут строить sln с msbuild. Также имеет множество приятных функций, и я нашел лучшие (из 10+) инструментов в качестве CI-сервера. Простота управления, отличная поддержка и хорошие функции.

Смежные вопросы