Подтвердить что ты не робот

Инструменты, чтобы помочь маленькому магазину набрать больше очков на "Тест Джоэла",

Вопросы № 1 по № 4 на Joel Test, на мой взгляд, касаются используемых инструментов разработки и системы поддержки для разработчиков:

  • Используете ли вы контроль источника?
  • Можете ли вы сделать сборку за один шаг?
  • Делаете ли вы ежедневные сборки?
  • У вас есть база данных ошибок?

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

Для управления версиями я знаю, что Subversion - отличное решение, и если вы являетесь магазином одного человека, вы можете даже использовать SourceGear Vault.

Я использую NAnt для моих больших проектов, но еще не настроил script для сборки моих инсталляторов, а также для запуска инструментов обфузии всего за один шаг. Любые другие предложения?

Если вы можете ответить "да" на здание за один шаг, я думаю, что создание ежедневных сборок было бы легко, но какие инструменты вы рекомендовали бы для автоматизации этих ежедневных сборок?

Для одной или двух человек команда уже обсуждалась в SO, что вы можете использовать FogBugz On Demand, но какие другие решения для отслеживания ошибок существуют для небольших команд?

4b9b3361

Ответ 1

Не забывайте автоматическое тестирование с помощью NUnit, Fit и WatiN.

Ответ 3

Мой предпочтительный стек:

1) Subversion. Я заинтригован распределенным контролем источника, но у меня еще не было возможности попробовать в гневе. Для централизованного решения svn является твердотельным камнем.

2) Ant. Maven - это радость от использования, когда он работает, но как старый хакер ant Я нахожу maven, что вам трудно следовать, как только дела идут не так.

3) Хадсон. Не было упомянуто до сих пор, но определенно стоит исследовать. Невероятно полезный и активно поддерживаемый инструмент. PreviousLy мы заплатили за Anthill Pro, который казался чешуйчатым, и было больно исправлять каждый раз, когда он напортачил.

4) Мы платим за джиру. Не дешево, но гораздо удобнее, чем варианты с открытым исходным кодом, на которые мы смотрели и очень гибкие.

Ответ 4

Мой инженерный стек:

  • Git (я люблю GitHub, но Git не требует хостинга)
  • Грабли
  • CruiseControl.rb
  • FogBugz

Без сомнения, на этот выбор влияет мой стек разработки, который чаще всего включает Ruby, Rails, SQLite, Firefox и OSX.

Ответ 5

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

Ответ 7

  • Git
  • Убедитесь,
  • Cron
  • Trac

Я человек из нескольких слогов; -)

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

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

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

Вы хотите ежедневные сборки, поместите команду build в свой cron.daily. Настройте крюк procmail для обработки почты из cron, если это необходимо.

Для отслеживания ошибок используйте $(apt-cache search bug tracking). В принципе, если на блоке написано "Отслеживание ошибок", и вы знаете, что другие используют его, он, вероятно, будет работать нормально. Среди завсегдатаев - bugzilla, mantis и trac.

Ответ 8

Хорошим вопросником, который был относительно недорогим, был axoSoft OnTime. Я использовал его в течение многих лет, прежде чем получить MS TFS.

Nant и CruiseControl являются скобками моей среды.

Ответ 9

Я не думаю, что вам действительно нужно обфускацию на .Net(см. другой ответ)

Я бы не рассматривал Vault, SVN действительно является лидером рынка на данный момент (и бесплатным). Git выглядит довольно многообещающим, но в настоящее время это командная строка только с крутой кривой обучения.

MSBuild превосходит NAnt для .Net 2 или 3.5

CC.Net отлично.

Ответ 10

* 4) Redmine

Я рекомендую Bitnami для тестирования разных стеков. Он получил Trac, Redmine и Subversion, а также несколько других несвязанных.

Ответ 12

В настоящее время я использую SVN, но, как правило, у меня было много проблем с проверкой на сетевой диск на dev-сервере. Там, как правило, есть проблемы с блокировкой, для которых требуется много промысла. Возможно, использование метода доступа WebDav облегчит некоторые из этих проблем, но я еще не экспериментировал.

Любой из Bugzilla, Trac или Fogbugz поможет вам отслеживать ошибки, и каждый из них предлагает функцию экспорта, поэтому вы всегда можете изменить свое мнение позже. Кроме того, если вы можете заставить свою команду полностью купить, программное обеспечение для управления временем также может быть полезно для post-mortems и т.д. (Если все заинтересованы в полном участии.

Ответ 13

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

В нем много функции, и это действительно легкий способ настроить и использовать.

Если вы используете Visual Studio 2005/2008, он будет строить ваше решение напрямую, не требуя дополнительных скриптов (если сборка вам нужна.)

Он также выполнит ваши модульные тесты и соберет статистику по успеху сборки, unit test времени выполнения и т.д. и т.д.

Лучше всего: выпуск Pro бесплатный для команд с 20 пользователями и 3 агентами сборки.

Ответ 14

  • контроль источника: cvs
  • build gnu make
  • задание cron, вызывающее bash скрипты
  • Bugzilla