Какие инструменты разработки и сборки жизненного цикла вы используете? - PullRequest
10 голосов
/ 01 марта 2009

Я работаю над переводом моего текущего проекта около 20 разработчиков в современную среду разработки и сборки. В настоящее время мы используем систему управления источниками на основе RCS и связанную систему отслеживания ошибок, обе с пользовательскими интерфейсами Motif. Официального процесса сборки производства не существует, просто работает.

Я заинтересован в:

  • Средства разработки
  • Контроль версий
  • Отслеживание проблем
  • Управление зависимостями
  • Управление конфигурацией
  • Автоматизированное здание
  • Автоматизированное тестирование
  • Непрерывная интеграция
  • Управление артефактами
  • Управление релизами
  • Управление развертыванием
  • Требования к трассировке
  • Что еще?

Меня интересует не только то, какие инструменты вы используете, но и насколько хорошо они интегрируются друг с другом, как легко их настраивать и использовать, и как они нравятся как разработчикам, так и руководству. Наш проект представляет собой комбинацию Java, C ++ и VHDL, но я все еще хотел бы услышать от людей с другими языками. В настоящее время я иду по пути затмения, подрывной деятельности, trac, maven, hudson и nexus.

Кроме того, есть ли лучший термин, чем «Build Lifecycle», который охватывает не просто сборку, но поток кода с момента, когда разработчик его создает, до его сборки, тестирования и в производственной системе? «Жизненный цикл сборки» кажется ограниченным, но «Жизненный цикл проекта» уже занят.

Ответы [ 8 ]

4 голосов
/ 01 марта 2009

Я ненавижу Maven меньше, чем Ant, и для Java вам нужно выбрать одно из этих зол. Если вы только начинаете, выбирайте Maven, тем более что вы уже поняли, что ваш «жизненный цикл сборки» включает 12 различных и сложных дисциплин! Вам нужно будет выбрать соглашения для всех из них. Избавьте себя от неприятностей и следуйте соглашениям, которые Maven уже установил.

Для непрерывной интеграции и общей автоматизации сборки мне нравится Hudson.

3 голосов
/ 01 марта 2009

Если вы работаете с .NET, трудно обойти Team Foundation Server за его интеграцию с Visual Studio. Он содержит инструменты разработки, контроль версий, отслеживание проблем, управление конфигурациями, автоматическое тестирование, модульное тестирование, автоматизированное создание, управление артефактами и все остальное, что вы описали.

Конечно, TFS дорогой, часто не интуитивно понятный и в нем отсутствуют некоторые функции по сравнению с другими инструментами, которые я использовал. Если у вас есть лицензия MSDN, вы можете бесплатно использовать TFS для рабочих групп (до 5 пользователей IIRC).

3 голосов
/ 01 марта 2009

В течение последних двух лет мы постепенно перешли от стратегии «каждый проект имеет свой собственный набор инструментов» к решению Trac + SVN + SCons, и нам это очень нравится.

Переход на SCons был небольшой работой, но действительно окупился. У нас есть гетерогенная среда, в основном C / C ++ для различных встроенных платформ, модулей ядра, некоторых приложений для настольных компьютеров и различных модулей Python в качестве связующего кода. SCons действительно хорош, когда вы хотите добавить поддержку для ваших собственных компиляторов и нишевых инструментов, и вам нужно адаптировать систему сборки к вашим требованиям. Раньше нам приходилось использовать разные графические интерфейсы почти для каждой встроенной платформы - теперь, когда SCons напрямую вызывает компиляторы, рабочий цикл немного улучшился.

Наши разработчики либо использовали Emacs, либо Vim, и никто не хотел переключаться на что-либо еще, поэтому мы (к счастью) придерживались этого. Я не очень знаком с развертыванием, поэтому не могу об этом говорить.

2 голосов
/ 02 марта 2009
  • Средства разработки JetBrains IntelliJ IDEA
  • Контроль версий Subversion
  • Отслеживание проблем Атласский Джира
  • Управление зависимостями Maven
  • Управление конфигурацией TeamCity
  • Автоматизированное здание TeamCity
  • Автоматизированное тестирование JUnit (?)
  • Непрерывная интеграция TeamCity
  • Управление артефактами Maven
  • Управление релизами Homo Sapien
  • Управление развертыванием Maven / Homo Sapien
  • Требования Трассировка Желаемое за действительное
  • Одноразовая автоматизация Bash
  • Документация от разработчика к разработчику MediaWiki
1 голос
/ 01 марта 2009

Мы магазин MS, использующий VS2008. Мы используем Subversion с Tortoise для SCC и управления версиями, и наш репозиторий размещается в Интернете, чтобы наша команда могла его использовать. Для сборки мы используем Hudson и CI, намного лучше, чем Nant или MSBuild. Отслеживание проблемы - это Bugzilla. Автоматизированное тестирование NUnit

Средства, которые следует избегать, включают Team Foundation Server и Sharepoint, слишком неуклюжие для реального использования.

Кстати, кто-нибудь знает хороший инструмент Scrum, который может создавать диаграммы сгорания, идеально связывая их с Basecamp?

0 голосов
/ 30 июля 2009

Team Foundation Server и Visual Studio.

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

Только это не было

0 голосов
/ 31 марта 2009

Я использую svn и tac для некоторых моих проектов, а svn и fogbugz для других. Они очень хорошо интегрируются.

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

Я использую Inno для релизов win32. Для другой платформы пока нет продуктов для доставки - не знаю, как мы их развернем.

Мы обращаемся не ко многим другим элементам, которые вы упомянули, кроме как в какой-то вспомогательной документации, а также в коде и в отслеживании проблем.

0 голосов
/ 31 марта 2009

Мы также используем ряд инструментов, но мы все больше и больше переходим к Zed Builds & Bugs. Наша основная среда разработки - Eclipse + Java, но мы также делаем Visual Studio (все они) и, по крайней мере, 5 различных сборок платформы Unix.

Вот полный список:

...