2009-05-08 3 views
2

Я работаю над сайтом Asp.net с 4 другими людьми. Проблема в том, какая аппаратная настройка нам нужна для того, чтобы обеспечить развитие команды? У нас есть четыре отдельных настольных компьютера, какое оборудование нам понадобится? Какое другое программное обеспечение для разработки было бы идеальным для такого развития?Разработка сайта в команде

+0

Каковы ваши ограничения по стоимости (каков ваш бюджет)? Есть много действительно хороших, мощных и бесплатных инструментов и услуг, которые могут добавить огромную ценность для вашей команды. –

+0

Бюджет - это не проблема для нас. Мы хотим создать сеть, которая позволит нам создавать веб-сайты в качестве команды. Мы не против тратить деньги на нужное оборудование и программное обеспечение. – 2009-05-08 03:30:37

ответ

1

Я только что закончил существенный (6-месячный проект) веб-приложение ASP.NET, разработанное четырьмя другими людьми, использующими Visual Studio 2008, Team Foundation Server и SQL Server 2008 и я был очень доволен комбо.

До создания Team Foundation Server мы использовали Visual Source Safe для управления версиями. Я не могу сказать вам, что улучшило TFS над VSS.

Некоторые из моих любимых особенностей:

  • Бесшовная интеграция с Visual Studio
  • управления документами
  • решения по управлению проектами, как «работа пунктов» особенность
  • Способность «сукно» То, что вы «работа над экспериментом с различными идеями»

Помимо трех мы не нуждались любой прочее программное обеспечение. Мы создали пару экземпляров базы данных, один для разработки и один для тестирования продукции. Наша база данных была разработана как проект базы данных в Visual Studio, что сделало ее очень простой в развертывании после того, как мы были готовы к тестовому тестированию. Это также упростило сравнение схем и обновлений между двумя тестовыми базами данных.

Что касается аппаратного обеспечения, у нас был сервер для TFS и сервер для тестирования приложений. Я уверен, вы могли бы объединить эти два.

+0

спасибо большое! ваш ответ был действительно полезен. – 2009-05-08 03:45:04

2

Вам понадобится форма управления исходным кодом, которая может храниться на одном из этих рабочих столов (не идеальна) или на другом сервере.

Помимо этого, как правило, такое развитие будет иметь каждый разработчик, который реплицирует среду на своих собственных машинах.

В какой-то момент было бы идеально, если бы можно было разместить этот код на сервере и построить его для тестирования и проверки. Это может быть один из рабочих столов, если вам не хватает аппаратного обеспечения.

+0

, так будет хорошо, если я подключу все компьютеры на lan и сделаю один из настольных компьютеров действующим как сервер, а затем загрузите контроль источника на сервере? – 2009-05-08 03:28:37

+0

Хорошо, что вы можете использовать такие сервисы, как источник управления на одной из машин-разработчиков. То, что вам нужно следить, - это если машина не включена, она терпит неудачу или ее оборвали, и они отправляются в ваш репозиторий. Вот почему вы пытаетесь разделить такие вещи и обрабатывать dev-машины как расширяемые. Другой вариант - получить размещенную службу (VPS, размещенную подрывную деятельность и т. Д.) Для дополнительной безопасности. – cletus

1

То, что вы описываете, не похоже на проблему, решаемую аппаратными средствами, а скорее на связь и определенную процедуру (Agile software development - это одна из методологий). Программное обеспечение для управления исходным кодом, такое как bazaar, git, mercurial, или subversion может быть полезно.

1

Вы используете Visual Studio Team System?

Я бы рекомендовал какой-то репозиторий исходного кода и, скорее всего, сервер сборки (функции, предоставляемые VSTS).

Конечно, есть другие варианты, помимо VSTS, включая бесплатные решения с открытым исходным кодом.

+0

Не забудьте предоставить всем вашим разработчикам доступ к Stack Overflow! – JonnyBoats

+0

Конечно, не стоит забывать об этом! – 2009-05-08 03:46:48

0

Если кто-то имеет дополнительную коробку прокладки вокруг, я бы рекомендовал SubVersion ... Если сделать вещи легко сделать ваши коммиты, проверить модули, и т.д. и т.п.

+0

прохладный. Да, у меня есть еще одна коробка, лежащая вокруг, поэтому я думал о загрузке Server 2003, SQL 2005 и Team Foundation. – 2009-05-08 03:43:59

1

Для команд в возрасте до пяти людей, если у вас есть лицензия на MSDN , вы можете свободно использовать Team Foundation Server Workgroup edition :-)

2

Я занимаюсь разработкой ASP.NET с командой, расположенной в Новой Зеландии, Канаде, Соединенных Штатах Америки и Израиле, поэтому у меня есть большой опыт эффективной работы в командной среде. Основываясь на этом опыте, вот мой список обязательных должностей для развития команды:

  • Система контроля версий, позволяющая хранить и управлять несколькими версиями исходного кода. Для этого мы используем Subversion, но любой достойный VCS должен быть достаточным. В дополнение к исходному коду мы также используем его для совместной документации и инструментов и библиотек, используемых нашими приложениями.
  • Эффективный способ общения с вашей командой. Благодаря нашему широкому географическому распределению мы в основном полагаемся на Skype, используя групповые чаты и конференц-связь.
  • Процесс сборки, позволяющий легко создавать общие библиотеки и приложения. В идеале это должно быть автоматизировано с помощью запланированных сборок, проверяющих целостность источника в вашем VCS. Существует множество инструментов для помощи в этом (например, MSBuild, NAnt). Поскольку наши проекты охватывают множество различных сред разработки и языков (включая Visual Studio, Delphi, Java, PHP), мы обнаруживаем, что использование командного файла для управления этим процессом прекрасно подходит для наших нужд. Если вы используете основанный на тестах подход к разработке (либо после TDD к письму, либо используя его вариант, который соответствует вашему стилю разработки), также рекомендуется выполнять модульные тесты в течение этого запланированного процесса сборки.
  • Управление проектом, задача и система отслеживания проблем. В настоящее время мы используем для этого Jira.
  • Легко обновляемый репозиторий для обмена информацией, такой как внутренняя вики. Для этого мы используем собственную административную систему управления контентом (то же самое, что на самом деле приводит Embarcadero Developer Network :-)).

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

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

4

Для сети разработчиков Embarcadero (http://edn.embarcadero.com), которая построена на чрезвычайно низком уровне бюджета, мы используем наши собственные ПК для среды разработки. В настоящее время есть 3 основных разработчика, включая меня.

Поскольку мои члены команды удалены, у нас также есть виртуальные машины для разработки и отладки, которые находятся в том же центре обработки данных, что и наши живые серверы. Общение имеет решающее значение, и мы в значительной степени полагаемся на Skype (http://www.skype.com/).

Для управления исходным кодом мы используем бесплатный Open Source http://subversion.tigris.org/. Хорошим универсальным клиентом Windows для SVN является TortoiseSVN (http://tortoisesvn.net/). Отличным подключаемым модулем Visual Studio для SVN является http://ankhsvn.open.collab.net/.

Для тестирования модулей мы используем NUnit (http://nunit.com) для нашего тестирования .NET. Мы используем DUnit (http://dunit.sourceforge.net/) для нашего тестирования кода Delphi.

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

Для развертывания в среде с балансировкой нагрузки Robocopy (см. http://en.wikipedia.org/wiki/Robocopy для получения дополнительной информации) является очень полезным инструментом для обеспечения того, чтобы ваши живые серверы отображали ваш «промежуточный» сервер. У нас есть командный файл «сделай все», который 1) вытащил последнюю версию из Subversion, 2) сливает и сводит к минимуму наши CSS и JavaScript (с помощью инструмента, который я написал, я когда-нибудь собираюсь опубликовать его, а инструмент упаковки JS от пользователей fckeditor), 3) развертывает последнюю версию наших шаблонов, css, изображений, скриптов и т. д., для живых серверов.

Что касается наших серверов, мы используем Windows Server 2003. Стандартная версия может быть достаточно для ваших нужд. Большинство наших веб-серверов отлично работают в 2 ГБ оперативной памяти, хотя у нас есть миллионы пользователей. Наши более тяжелые серверы имеют 4 ГБ оперативной памяти. Почти каждое веб-приложение балансирует нагрузку на по меньшей мере 2 одинаковых сервера. Наши серверы веб-приложений - это в основном виртуальные машины, но наши серверы баз данных всегда выделяются ящиками с различными требованиями к ОЗУ. VM не дают вам производительности, необходимой для баз данных.

Мы также в основном используем InterBase (http://www.embarcadero.com/products/interbase/) и Blackfish SQL (http://www.embarcadero.com/products/blackfish_sql/) в качестве наших баз данных, но большинство магазинов, ориентированных на MS, предпочли бы некоторый колорит MS SQL.

Мы создали собственное решение для мониторинга баз данных, веб-ответов и веб-сервисов, которые составляют EDN, но вы можете найти что-то вроде Nagios (http://www.nagios.org/) для мониторинга ваших живых серверов.

Затем также потребуется выпуск отслеживания системы, как Jira (http://www.atlassian.com/software/jira/) FogBugz (http://www.fogcreek.com/FogBUGZ/), Bugzilla (http://www.bugzilla.org/), Trac (http://trac.edgewall.org/), который может быть использован с Subversion, или что-то другое. Команда EDN использует QualityCentral (http://qc.embarcadero.com), но это самодельное решение, недоступное для других.

HTH

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