Ищете сильную систему управления сборкой - PullRequest
3 голосов
/ 18 ноября 2008

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

В настоящее время мы создаем код C ++ и код .NET с использованием решений VS2005, у нас также есть устаревший код, созданный с использованием make-файлов, и мы упаковываем продукты с помощью installshield. У нас также есть модульные тесты, написанные на UnitTest ++, Nunit, CPPUnit и некоторые тесты, которые мы написали сами, без какой-либо инфраструктуры тестирования. Все координируется набором скриптов Perl, которые мы написали.

Я ищу продукт, или набор продуктов, или набор несвязанных продуктов, которые позволят мне сделать следующее:

  1. Улучшено время строительства. Я попробовал Incredibuild для параллелизации сборки с некоторым успехом. Я буду рад найти больше альтернатив (более дешевые ???)

  2. Улучшение определения процесса сборки. Мне нужно что-то, чтобы заменить наши сложные сценарии Perl чем-то, что позволит мне легко определить процесс сборки.

  3. Улучшение нашей способности обнаруживать проблемы в сборке (возможно, веб-интерфейс для просмотра выходных данных сборки, выделения ошибок компиляции, сбора статистики о времени сборки и сбоях сборки и т. Д.

  4. Любые другие полезные функции, которые могут помочь нам улучшить управление сборкой.

Ответы [ 7 ]

3 голосов
/ 18 ноября 2008

Рассмотрим NAnt: http://nant.sourceforge.net/, CruiseControl: http://en.wikipedia.org/wiki/CruiseControl, и более быструю систему сборки. Есть некоторые ссылки, связанные с .NET: http://confluence.public.thoughtworks.org/dashboard.action

Edit: Gradle , вероятно, лучший выбор сейчас.

2 голосов
/ 18 ноября 2008

Попробуйте FinalBuilder Это очень полный инструмент управления сборкой

1 голос
/ 22 декабря 2008

У нас есть процесс, похожий на ваш, хотя это не проект VS. До недавнего времени мы использовали perl-скрипты и tinderbox для сборки и отслеживания статуса сборок и юнит-тестов. Недавно мы перепрыгнули на Гудзон, и, похоже, он отлично работает.

https://hudson.dev.java.net/

Не откладывайте на ярлык java, наши проекты написаны на c / c ++ и работают нормально. Hudson может выполнять команды оболочки, поэтому мы можем создавать наши проекты (make-файлы) и нормально запускать наши модульные тесты. Прямо сейчас мы настроили его на синхронизированную сборку, которая по завершении (если успешно) запускает все наши модульные тесты параллельно.

Это отличная система, и стоит проверить, ищите ли вы ее. Он регистрирует выходные данные консоли и имеет массу отличных дополнений (количество предупреждений в журналах и диаграммах, размер используемого дискового пространства, сборка при изменении CM) и прекрасный веб-интерфейс для наблюдения за командой.

Ах да, это бесплатно ..

1 голос
/ 22 декабря 2008

Sakin,

Я думаю, что вы можете искать два разных инструмента - хотя иногда вы найдете их в упаковке.

Одним из инструментов может быть система управления сборкой, которая планирует сборки, показывает результаты, собирает статистику и т. Д. Такие инструменты, как FinalBuilder, CruiseControl и AnthillPro играют в этом пространстве.

Другой инструмент - это тот, который разбивает вашу сборку на параллельные части и ускоряет сборку. Incredibuild довольно хорош в том, что они делают в этом отношении, и, конечно, дешевле, чем некоторые альтернативы. Существуют бесплатные опции, встроенные в некоторые инструменты с открытым исходным кодом, такие как gmake, но, насколько я понимаю, вам нужно проделать довольно серьезную работу, чтобы заставить это работать с файлами решений.

Вы должны иметь возможность смешивать и сочетать по желанию. У нас есть клиенты, использующие Anthill с Incredibuild, gmake и рядом других инструментов ускорения сборки.

1 голос
/ 18 декабря 2008

Я использовал Automated QA Automated Build Studio несколько лет назад на предыдущей работе, и это было довольно хорошо и довольно дешево. Я не использовал его с тех пор, поэтому я просто рекомендую вам взглянуть на него.

Если у вас есть подписка MSDN, вы должны посмотреть на TFS. Сборка TFS довольно надежна, интегрирована в Visual Studio и работает рука об руку с Team System / TFS Source Control (вы не сказали, какой контроль исходного кода вы используете).

0 голосов
/ 07 января 2011

Что касается "У Хадсона есть обширные плагины .. бла-бла-бла", то это действительно обман.

Что Хадсон НЕ МОЖЕТ достигнуть, так это базовая архитектура, то есть плагин

Удивительно, но если мне нужно замаскировать пароль или какое-либо удостоверение, я не смогу это сделать без плагина "маскировки пароля".

В идеале, если система «масштабируема для предприятия», эта маскировка должна быть встроена в ее ядро ​​

Это только один пример. У меня есть четкий анализ этих инструментов, но я не могу загрузить документ здесь

Переход на другую сторону

Хадсон "выглядит и чувствует себя" "красиво и мило" и относительно легкий вес

0 голосов
/ 07 января 2011

Я бы не советовал Хадсону ... не нужно слишком много хвастаться этим ...

hudson - ограниченный набор инструментов, кроме того, что он может сделать гораздо больше и имеет лучшую архитектуру ядра bui8lt

Предложение о том, чтобы использовать anthillpro и incredibuild, является хорошим !!

...