Какой инструмент для сборки вы используете профессионально?

Дома я использую CTRL+SHIFT+B или F7 или любую другую последовательность клавиш, чтобы инициировать сборку для моего инструмента сборки. На работе это не совсем подходит.

На моей первой работе (стажировке) мы использовали продукт под названием Visual Build, который мне очень понравился. Это лучший инструмент для сборки, с которым я когда-либо работал. Минус здесь в том, что это не бесплатно.

На свою последнюю работу я пришел, буквально ничего не зная об Анте. Теперь, к сожалению, я глубоко погрузился в наши процессы сборки и не могу выпутаться. Это работает, да, но после сборки Visual кажется, что он борется со мной на каждом этапе пути. Да, это бесплатно, но мы не пытаемся быть компанией, разрабатывающей только бесплатное программное обеспечение или что-то в этом роде.

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

Кто-нибудь когда-нибудь видел или имел опыт работы с Visual Build? В основном мне нравятся несколько ключевых вещей:

  1. у него есть графический интерфейс
  2. он запускает произвольный VBScript без необходимости скомпилированного класса
  3. вы можете пройти через процесс сборки или начать с любой точки посередине.

Есть ли какие-либо бесплатные инструменты для сборки, которые имеют это? Есть ли способ убедить людей, что стоит двигаться дальше? Это 2008 год. Мы используем IDE для разработки, почему бы не (IBE) для сборки?

Редактировать: я в основном ищу ответы на свои последние вопросы; Есть ли решение со встроенным графическим интерфейсом, которое я могу использовать бесплатно?


person Ed Marty    schedule 26.11.2008    source источник


Ответы (15)


Мы используем FinalBuilder — я думаю, что он очень похож на VisualBuild, хотя я не использовал последний.

Он запускается из командной строки, и вы можете интегрировать его с CC.Net, если хотите.

person Will Dean    schedule 26.11.2008

Не очень сложно, но мы используем набор пакетных файлов. И это прекрасно работает.

person Toon Krijthe    schedule 26.11.2008
comment
+1 Я всегда думал, что вам придется использовать какие-то инструменты сборки, но во время моего последнего проекта я использовал кучу сценариев оболочки, и это работало отлично. Иногда для выполнения работы нужно так мало ^^. - person helpermethod; 24.05.2010

Для проектов Java мы используем Teamcity, что-то вроде круиз-контроля, но вы также можете выполнить удаленный запуск, то есть вы отправляете свои изменения на сервер, он создает и выполняет модульные тесты, если все работает нормально, ТОГДА вы регистрируетесь, очень хорошая сборка инструмент и бесплатно до 20 конфигураций сборки.

Для наших проектов Visual Studio 2005, включая упаковку окончательных исполняемых файлов и dll с помощью InstallShield и размещение их на общем сервере, мы используем Final Builder, это не бесплатно, но очень легко использовать и начать работу.

Мы также подключаемся по телнету (из FinalBuilder) к ряду других платформ (Unix/Linux/OpenVMS) и запускаем удаленные сборки, запуская там make-файлы.

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

Мы очень довольны FinalBuilder, с ним легко освоиться, и он достаточно мощный, чтобы решить большинство проблем.

person Ulf Lindback    schedule 26.11.2008

CMake. Создает файл сборки для KDevelop, Eclipse, Makefiles и Visual Studio (и XCode), и это действительно работает. Вы можете легко расширить его с помощью макросов, хотя возможности программирования довольно ограничены. Его легко освоить, и перенос существующего приложения из Visual Studio в него довольно прост. Однако вы ограничены кодом C++/C и IIRC Fortran.

KDE теперь также использует CMake, поэтому кажется, что он очень хорошо масштабируется (т.е. время генерации для проектов/проверки зависимостей не так уж плохо).

person Anteru    schedule 26.11.2008

Я не уверен, что это именно то, что вы ищете, но я ЛЮБЛЮ CruiseControl.NET. Я создаю свои проекты, используя задачу MSBuild. У него нет точно графического интерфейса, но есть веб-интерфейс для просмотра результатов ваших сборок и резидентная программа в системном трее, которая будет предупреждать вас о статусе сборки.

person Bob    schedule 26.11.2008
comment
Это не совсем одно и то же, мы на самом деле используем Visual Build Pro и CruiseControl.NET. VisualBUildPRO — очень классный инструмент. Мы используем его больше для пошагового процесса создания установщика, а не для всех сборок. - person Alex; 26.11.2008

Апперкот. Это бесплатно.

UppercuT использует NAnt для сборки, и это безумно простая в использовании Build Framework.

Автоматизированная сборка так же проста, как (1) имя решения, (2) путь к исходному коду, (3) название компании для большинства проектов!!!

http://code.google.com/p/uppercut/

Вот несколько хороших пояснений: UppercuT

person ferventcoder    schedule 16.05.2009

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

person bugmagnet    schedule 26.11.2008

Я ничего не знаю о Visual Build, но, судя по вашему описанию, он привязан к Windows и не запускается из командной строки.

Если вы создаете программное обеспечение Java (я предполагаю, что вы делаете это, поскольку используете Ant), предпочтительнее иметь кросс-платформенный инструмент. Если вы можете запустить инструмент из командной строки, значит, он поддерживает сценарии, что чрезвычайно важно для автоматизации.

Ant также расширяем и является стандартом де-факто. Многие инструменты, которые вы можете использовать (Cobertura, TestNG и т. д.), предоставляют задачи Ant, поэтому их можно легко интегрировать в вашу сборку.

Я использую Ant для всех проектов Java. Некоторые люди предпочитают Maven, но я не из их числа. Ant далек от совершенства (синтаксис XML немного неуклюж), но он хорошо документирован, чрезвычайно стабильно и довольно просто.

Если вы используете стандартный инструмент, такой как Ant или Maven, вы сможете использовать любое количество Продукты непрерывной интеграции. Я сомневаюсь, что вы найдете много таких, которые работают с Visual Build.

Большинство IDE поддерживают Ant, поэтому они предоставляют вам своего рода графический интерфейс, а ваш CI-сервер предоставляет вам веб-интерфейс для выполнения сборок.

person Dan Dyer    schedule 26.11.2008
comment
Поскольку все разработчики (пятеро из нас) работают на компьютерах с Windows, кроссплатформенность на самом деле не нужна. Мы используем ant для проектов Java и C++ (из Visual Studio). У нас нет интеграции с ant ни в одной из наших IDE, поэтому я ищу что-то вроде Visual Build. - person Ed Marty; 26.11.2008

NAnt (порт Ant для .NET). Прекрасно работает и легко расширяется.

person petr k.    schedule 26.11.2008

Для небольших проектов я использую сценарии пост-сборки, и с поддержкой 7z, Nsis и подобных инструментов CLI он отлично справляется со своей задачей.

person dr. evil    schedule 26.11.2008

TeamCity и CuriseControl хорошо подходят для любых проектов, но вот почему вы хотели бы выбрать TeamCity:

Простота настройки: во время настройки мы обнаружили, что TeamCity проще в настройке и использовании, особенно по сравнению с CruiseControl. Нам не нужно было редактировать XML-файлы или массово настраивать отдельные машины сборки, такие как CruiseControl.

Простота расширения: TeamCity также отличается простотой расширения. Если мы обнаружим, что сборки слишком долго ожидают в очереди, мы можем добавить больше компьютеров в качестве агентов. Единственная дополнительная работа с нашей стороны — это регистрация новых компьютеров на сервере TeamCity и установка msbuild и subversion.

Взаимодействие с Subversion: можно проверить, сколько и какие изменения были зафиксированы в subversion с момента последней сборки, кто запустил сборку и т. д.

person MOZILLA    schedule 26.11.2008

Я очень полюбил scons для создания файлов C++. Это очень просто, и сценарии сборки написаны на Python (что намного лучше, чем некоторые взломанные DSL IMO).

person Jason Baker    schedule 26.11.2008

Ant или Maven — отличные небольшие инструменты для сборки.

А если вы хотите автоматизировать процесс сборки, есть отличные инструменты, такие как TeamCity и Bamboo.

person Stephane Grenier    schedule 26.11.2008

Лично я использую Makefile практически для всего, потому что они чертовски просты. Но в своей работе я вынужден использовать ant.

Основная проблема, которую я имею против ant, заключается в том, что XML затрудняет чтение и понимание даже при правильном отступе. С другой стороны, многословие XML может помочь при чтении чужого ant-файла, но все же делает его PITA, когда файл состоит более чем из нескольких десятков строк.

Что касается создания графического интерфейса... Я всегда чувствовал, что это скорее минус, чем плюс.

person Ismael C    schedule 26.11.2008

Maven лучше всего подходит для меня, потому что он обрабатывает зависимости проекта

person victor hugo    schedule 21.05.2009