Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Главная » Статьи по программированию » .NET - Framework »

Обсудить на форуме Обсудить на форуме

Настройка и поддержка среды групповой разработки
В этой главе описывается инфраструктура, а также требования к программно-аппаратному обеспечению всех рабочих станций и серверов в среде групповой разработки. Здесь же описывается, как создавать и поддерживать базу данных VSS.
Это глава 7 руководства по групповой разработке в среде Visual Studio® .NET и Visual SourceSafe. Чтобы получить полное представление о данном руководстве, начните отсюда.

Аннотация

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

Это глава 7 руководства по групповой разработке в среде Visual Studio® .NET и Visual SourceSafe. Чтобы получить полное представление о данном руководстве, начните отсюда.

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

  • рабочие станции разработчиков;
  • сервер Microsoft® Visual SourceSafe (VSS), на котором хранится база (или базы) данных с контролируемым исходным кодом;
  • резервный сервер, где хранятся резервные копии базы данных VSS;
  • компьютеры с Microsoft SQL Server для разработки и тестирования баз данных;
  • Web-серверы для разработки и тестирования Web-сервисов;
  • сервер сборок, на котором выполняются автоматизированные сборочные сценарии, ежедневно создающие сборки.

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

Инфраструктура среды групповой разработки приведена на рис. 7.1.

Stress Test Environment - Среда стресс-тестирования
Stress Hub - Концентратор, выделенный для стресс-тестирования
100 Mb Ethemet - 100-мегабитная Ethemet
DC - Контроллер домена
Build - Сервер сборок
Backup - Сервер резервного копирования
VSS MSDN - Сервер VSS MSDN
Workstation - Рабочая станция
Developer Workstations - Рабочие станции разработчиков
SQL Server - SQL Server
Web Server - Web-сервер
Dev - Разработка
Test - Тестирование

Рис. 7.1. Инфраструктура среды групповой разработки

Создание домена разработки

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

  • устанавливать обновления или сервисные пакеты операционных систем;
  • локально управлять Microsoft Internet Information Services (IIS) для тестирования и оптимизации приложений;
  • отлаживать Web-приложения ASP.NET.

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

Вот несколько вариантов, анализ которых поможет вам принять верное решение.

Отдельный домен без доверительных отношений

Ниже перечислены некоторые особенности такого варианта.

  • Наилучшая модель безопасности, так как корпоративные пользователи не могут обращаться к среде разработки.
  • Отдельная сеть обеспечивает гибкость и изоляцию при тестировании под нагрузкой. Не придется опасаться негативного влияния на ключевые службы.
  • Чтобы задействовать службы в корпоративном домене, например электронную почту и интрасеть, разработчики могут использовать VPN-соединения (virtual private network) для связи с корпоративной сетью.
  • Для создания VPN-сервера можно воспользоваться операционной системой Microsoft Windows® 2000 и службой маршрутизации и удаленного доступа (Routing and Remote Access Services), развернуть сервер Microsoft Internet Security and Acceleration (ISA) Server или прибегнуть к продуктам третьих фирм.
  • Эта модель требует дополнительных расходов на серверы отдельной инфраструктуры - контроллеры домена, серверы DNS, WINS, DHCP и т.д. (могут понадобиться конфигурации с избыточностью).

Отдельный домен с доверительными отношениями

Ниже перечислены некоторые особенности такого варианта.

  • Эта модель удобнее, так как VPN-соединения не нужны.
  • Если вы создадите учетные записи разработчиков в домене разработки, корпоративный домен должен доверять домену разработки, чтобы разработчики получили доступ к его службам, а это может оказаться несовместимым с корпоративной политикой безопасности. Корпоративные пользователи не могут обращаться к среде разработки.
  • Если вы создадите учетные записи разработчиков в корпоративном домене, домен разработки должен доверять корпоративному домену, что создает потенциальную уязвимость.
  • При правильном планировании и пилотном тестировании такая модель пригодна в большинстве организаций.

Часть корпоративного домена

Ниже перечислены некоторые особенности такого варианта.

  • Это самый подходящий вариант, так как нет разделения доменов.
  • Разработчики имеют доступ ко всей корпоративной инфраструктуре и службам.
  • Политика корпоративной безопасности может запрещать предоставления прав локального администратора пользователям на их рабочих станциях. Это создает разработчикам проблемы, так как для отладки Web-приложения ASP.NET на рабочей станции нужны права локального администратора.
  • Стандартные корпоративные сетевые политики и политики безопасности могут препятствовать процессу разработки. Например, разработчикам может быть запрещено устанавливать сервисные пакеты, не соответствующие корпоративным стандартам.

Далее в этом разделе описываются роли всех компьютеров в среде разработки.

Сервер VSS

На этом сервере хранится одна или несколько баз данных VSS с контролируемыми решениями, файлами проектов и файлами исходного кода для всех групповых разработок.

Кроме того, VSS-сервер - неплохой кандидат на роль хранилища Microsoft MSDN® Library, используемой разработчиками. Подробнее на эту тему см. статью Q271776 "HOWTO: Create an MSDN Library Shared Install Point on the Network" в Microsoft Knowledge Base.

Требования к оборудованию

Минимальные рекомендуемые требования к аппаратному обеспечению сервера VSS изложены в файле readme. Однако за исключением малых сред групповой разработки вам потребуется более мощная система, близкая к спецификации, рекомендованной для рабочей станции с Visual Studio .NET. Соответствующие детали см. в разделе "Сервер сборок" далее в этой главе.

Учтите, что время, затрачиваемое на выполнение рутинных задач администрирования базы данных VSS, существенно зависит от быстродействия процессора и объема оперативной памяти. Кроме того, размер жесткого диска должен быть примерно в два раза больше объема базы данных VSS.

Требования к программному обеспечению

На сервере VSS нужно установить следующее ПО.

  • VSS версии 6.0c. Он поставляется с Visual Studio .NET версий Enterprise Architect и Enterprise Developer. Кроме того, он доступен подписчикам MSDN для скачивания или на CD/DVD.
  • Подходящее ПО резервного копирования. Необходимо регулярно выполнять резервное копирование базы данных VSS, так как ее роль в групповой разработке крайне важна. Для резервного копирования базы данных VSS используйте принятые в настоящее время ПО и методики.

Сервер сборок

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

Информацию о том, как разработчики должны ссылаться на сборки в среде групповой разработки, см. в разделе Ссылки на сборки главы 4 "Управление зависимостями".

Рекомендуемая структура папок для структуризации результатов сборки показана в главе 5 "Процесс сборки". Локальная структура папок, где хранятся решения, проекты и файлы исходного кода Visual Studio .NET, должна соответствовать структуре папок на сервере сборок и на рабочих станциях других разработчиков. Подробнее на эту тему см. главу 3 "Структурирование решений и проектов".

Требования к оборудованию

В следующей таблице перечислены минимальные рекомендуемые требования Visual Studio .NET, которым должен удовлетворять сервер сборок.

 

Сервер сборки Минимальные требования
Процессор Процессор класса Pentium II, 450 МГц (рекомендуется: Pentium III, 600 МГц)
Память Microsoft Windows NT® 4.0 Workstation - 64 Мб, Windows NT 4.0 Server - 160 Мб
(рекомендуется: 96 для Workstation, 192 для Server)
Windows 2000 Professional - 96 Мб; Windows 2000 Server - 192 Мб
(рекомендуется: 128 Мб для Professional, 256 Мб для Server)
(Windows XP Professional - 160 Мб
(рекомендуется: 192 Мб)
Свободное место на диске 600 Мб на системном диске, 3 Гб на диске, куда устанавливается система разработки
Привод CD-ROM
Экран 800 x 600, 256 цветов (рекомендуется: high color 16 бит)
Операционная система Windows 2000, Windows XP и Windows NT 4.0
Периферия Привод CD-ROM или DVD-ROM. Мышь Microsoft или совместимое устройство

Требования к программному обеспечению

На сервере сборок нужно установить следующее ПО:

  • Visual Studio .NET;
  • Visual SourceSafe 6.0c (клиент);
  • необходимые дополнительные ресурсы, например IIS или Message Queuing.

Рабочие станции разработчиков

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

Используйте утилиту создания образов для подготовки рабочих станций

Чтобы сэкономить время на конфигурировании множества идентичных рабочих станций, подумайте о применении утилиты Sysprep.exe. Установив все требуемые приложения и инструменты на одной рабочей станции, создайте с помощью Sysprep.exe образ этой рабочей станции. Тогда вы сможете развернуть образ на других компьютерах, используя ПО от третьих фирм, которое работает с образами дисков. Преимущество Sysprep.exe в том, она включает компактный мастер установки, определяющий реально установленное на компьютере оборудование, и поэтому справляется с ситуациями, когда оборудование слегка различается, например на каких-то компьютерах установлены другие видео- или сетевые адаптеры.

Все пользовательские данные (в том числе решения и проекты) рекомендуется хранить на отдельном разделе или физическом диске. Тогда при значительном обновлении образа его можно будет переустановить поверх существующего диска C. Незначительные обновления и дополнительное ПО можно устанавливать через политику групп (Group Policy) в службе каталогов Active Directory.

Требования к оборудованию

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

Требования к программному обеспечению

На рабочих станциях разработчиков требуется установить следующее ПО:

  • Visual Studio .NET;
  • клиентские компоненты Visual SourceSafe 6.0c;
  • SQL Server 2000 Developer Edition;
  • MSDN Library (клиент).

Примечание Если на компьютерах разработчиков установлена Windows XP, то для локальной разработки Web-приложений нужно установить IIS (по умолчанию он не устанавливается при установке Windows XP).

Visual Studio Enterprise Templates

Visual Studio Enterprise Templates помогают внедрению должных процедур и стандартов разработки. Они особенно полезны при разработке крупномасштабной распределенной системы в ситуациях, когда на основе единой архитектуры приложения создается множество проектов.

Три функции Enterprise Templates позволяют архитекторам приложений помогать разработчикам в более успешном создании приложений в среде .NET Framework.

  • Упаковка заготовок существующего кода и компонентов, предоставленных архитектором, для последующей интеграции в Visual Studio .NET, что создает разработчикам привычную среду. Архитекторы могут воспользоваться этой функцией для создания инфраструктуры приложения, одинаковой во всех проектах в таких областях, как безопасность, обработка ошибок и средства мониторинга приложения (application instrumentation).
  • Хранение правил, связанных с архитектурой и реализацией, и применение их как "активного" руководства в процессе разработки приложения. На основе этих правил архитекторы могут отфильтровать варианты, непригодные для текущего проекта. Правила напоминают разработчикам о стандартах, когда те пытаются добавлять элементы, ссылки, интерфейсы, члены классов или значения свойств в неподходящих для этого частях приложения, что помогает избежать наиболее распространенных проблем.
  • Архитекторы справочной системы своевременно предоставляют разработчикам нужные им в данный момент разделы, чтобы они не перелопачивали горы документации перед написанием кода.

Подробнее об Enterprise Templates см. подраздел "Enterprise Templates for Distributed Applications" в разделе "Visual Studio .NET" в MSDN Library.

Сервер резервного копирования

Сервер резервного копирования хранит копию базы данных VSS. Вы должны регулярно (например ежедневно) выполнять резервное копирование баз данных VSS.

SQL-серверы

На этих серверах устанавливается SQL Server 2000 Enterprise Edition. Они применяются для хранения индивидуальных баз данных, необходимых системам, которые в данный момент находятся в стадии разработки, сопровождения или обслуживания.

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

Дополнительные сведения о решении проблем с контролем версий баз данных и рекомендации по тому, как разработчикам следует подключаться к базам данным на этих серверах, см. раздел Ссылки на базы данных главы 4 "Управление зависимостями".

Web-сервер

Web-сервер предназначен для хостинга Web-сервисов XML, разрабатываемых в данный момент. Хотя группы разработчиков, отвечающие за Web-сервисы, создают их на локальных рабочих станциях, используя локальные экземпляры IIS, Web-сервер служит центральной точкой публикации сервисов, к которым могут обращаться другие разработчики или группы, занимающиеся клиентскими проектами. Подробнее о работе с Web-сервисами см. в разделе Ссылки на Web-сервисы главы 4 "Управление зависимостями".

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

 

Требования к операционной системе

Требования к операционной системе Web-сервера, выполняющего Web-приложения и Web-сервисы ASP.NET, разработанные в Visual Studio .NET, таковы:

  • Windows 2000, Windows XP или Windows Server 2003;
  • рекомендуется устанавливать Web-сервер на компьютер с файловой системой NTFS;
  • На Web-сервере должен работать IIS 5.0 или 6.0.

Детали см. в файле setup\WebServer.htm на CD1 или DVD с Visual Studio .NET.

Установка и администрирование VSS

VSS 6.0c поставляется на отдельном диске с Visual Studio .NET Enterprise и по умолчанию не устанавливается. Вы должны установить VSS на сервере, а затем установить клиент VSS на каждом компьютере, которому нужен доступ к базе данных VSS (обычно это рабочие станции и сервер сборок).

В следующих разделах даются рекомендации по установке VSS на сервере.

Создайте общую базу данных на сервере

Запустите на сервере программу Setup и выберите вариант установки общей базы данных. В результате будут установлены средства администрирования и программа сетевой установки (Netsetup.exe), позволяющая пользователям VSS устанавливать клиентское ПО.

Откройте к папке, в которую установлен VSS, общий доступ для чтения

Откройте к папке установки VSS общий доступ для чтения. Тогда разработчики смогут запускать Netsetup.exe из папки VSS. Заметьте, что по умолчанию VSS устанавливается в \Program Files\Microsoft Visual Studio\Vss.

Создайте минимум одну базу данных для проекта

Для создания новой базы для .NET-проекта предназначен инструмент VSS Administration. Рекомендуется создать новую базу (а не использовать базу данных по умолчанию) потому, что тогда вы сможете раздельно защищать базу данных по умолчанию и средства администрирования (размещенные в папке Vss\Win32) и ограничить круг лиц, имеющих доступ к этим средствам. Большинству пользователей следует разрешить подключение только к новой базе данных и запретить доступ к средствам администрирования.

Не создавайте новые базы данных в папке \Program Files. Размещайте их в отдельной общей папке, например в \VSS Databases.

Подумайте о создании дополнительных баз данных VSS

Если размер одной базы данных приближается к 5 Гб, подумайте о создании дополнительных баз данных VSS (на том же сервере, но в отдельных общих папках). При таком размере базы данных средствам администрирования на выполнение работы требуется значительное время (до нескольких часов).

Кроме того, подумайте об использовании отдельных баз данных для полностью независимых проектов. При размещении решений и проектов Visual Studio .NET в отдельных базах данных VSS вы получаете следующие преимущества.

 

  • Усиление защиты за счет более точного указания, каким пользователям разрешен доступ к тем или иным проектам. Пользователь, который может обратиться к базе данных VSS, способен просматривать и изменять все содержащиеся в ней проекты.
  • Рутинное техническое обслуживание больше не влияет на все проекты. Такие операции, как резервное копирование, требуют блокировки базы данных, что препятствует доступу к базе данных обычных пользователей (не администраторов).
  • Если база данных повреждена, ее нужно отключить и восстановить. Используя раздельные базы данных, вы помешаете только тем разработчикам, которые обращаются к поврежденной базе данных, - остальные смогут работать в нормальном режиме.
  • По окончании проекта вы сможете легко заархивировать базу данных этого проекта.

Откройте общий доступ к папке с базой данных и задайте подходящие разрешения

Откройте общий доступ к папке с базой данных и предоставьте пользователям VSS разрешение на полный контроль. К пользователям VSS относятся разработчики и учетная запись, под которой работает автоматизированный процесс сборки.

Создайте группу Windows для всех пользователей, которым разрешен доступ к базе данных VSS. Разрешите доступ к ней только членам этой группы.

Если вы не хотите выдавать пользователям разрешение на полный контроль и желаете более строго контролировать доступ, см. статью Q131022 "INFO: Required Network Rights for the SourceSafe Directories" в Microsoft Knowledge Base.

Подумайте о реализации защиты проектов средствами VSS

Подумайте о включении защиты проектов с помощью утилиты VSS Administration и удалении разрешения

Destroy

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

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

Подробнее о защите проектов и варианте по умолчанию см. в Security Access Rights.

Добавьте пользовательские учетные записи для разработчиков и сборочного сценария

С помощью VSS Administration откройте новую базу или базы данных и добавьте требуемых пользователей и их пароли.

Не забудьте создать по одному пользователю VSS для каждого разработчика и еще одного для сборочного процесса. Если в вашей среде имеется домен, рекомендуется сделать так, чтобы имена пользователей совпадали с их именами в домене. Убедитесь, что для регистрации пользователей используется сетевое имя. Для этого в меню Tools выберите Options и установите флажок Use network name for automatic user login.

Ограничьте доступ к средствам администрирования

Создайте Windows-группу администраторов VSS и разрешите доступ к папке Vss\Win32 только ей. В этой папке содержатся средства администрирования VSS, и вы должны ограничить доступ к ним разработчикам.

Обнаружение поврежденных данных и их восстановление

С VSS поставляется инструмент Analyze (находится в папке Vss\Win32), с помощью которого можно обнаруживать и исправлять повреждения в данных. Как часто вы будете пользоваться Analyze - решать вам, но рекомендуется запускать его раз в неделю или хотя бы раз в месяц. Analyze проверяет все файлы в папке VSS Data на повреждение, а также на наличие разорванных ссылок и зачастую восстанавливает их при правильной настройке параметров.

Повреждение базы данных возможно по разным причинам. К наиболее распространенным из них относятся:

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

Analyze может работать довольно медленно, хотя это зависит от содержимого и структуры базы данных, в том числе от количества разделяемых ресурсов, ветвей проекта и общего числа файлов. Для большей производительности рекомендуется до запуска Analyze.exe отсоединить всех пользователей от VSS. А при использовании параметра -F для восстановления повреждений такое отсоединение просто обязательно.

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

Подумайте об установке отказоустойчивого хранилища

Технология RAID (redundant array of independent disks) уменьшает вероятность потери данных при ошибках в процессе обращения к жесткому диску. RAID - отказоустойчивая дисковая конфигурация, в которой части физического хранилища содержат избыточную информацию о хранящихся на дисках данных. Вы сможете восстановить данные, используя эту информацию, если один из дисков выйдет из строя или если не удастся считать какой-то сектор на диске.

  • Для операционной системы и журнала установите RAID уровня 1.
  • Для данных (например для базы данных VSS) установите RAID уровня 5 или RAID 0+1.

Дополнительные сведения

Подробнее о повышении надежности сервера см. по следующим ссылкам:

http://www.microsoft.com/windows2000/techinfo/howitworks/management/relavail.asp
http://www.microsoft.com/ntserver/techresources/deployment/ntserver/highavail1.asp
HOW TO: Set up SourceSafe for Replication under Windows NT

Установка VSS на клиентах

Чтобы установить клиент VSS, просто запустите Netsetup.exe с общего сетевого диска на любом компьютере, которому нужен доступ к VSS (например на рабочей станции или сервере сборок). Это позволит активизировать средства контроля исходного кода, интегрированные в Visual Studio .NET. Кроме того, станет доступным подменю Source Control в меню File.

Подумайте об использовании теневых каталогов VSS

Теневой каталог (shadow directory) VSS - это каталог на центральном сервере, в котором дублируется последняя версия содержимого проекта VSS. Всякий раз, когда разработчик обновляет какой-либо файл в проекте VSS, этот файл автоматически копируется в теневой каталог.

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

Дополнительные сведения

Универсальные рекомендации по использованию VSS см. по ссылке http://msdn.microsoft.com/library/?url=/library/en-us/dnvss/html/vssbest.asp?frame=true.

Microsoft периодически обновляет утилиту Analyze. Чтобы получить последнюю версию Analyze, посетите Web-сайт Microsoft Visual SourceSafe (http://msdn.microsoft.com/ssafe/default.asp).


Может пригодится:


Автор: Microsoft Corporation
Прочитано: 5255
Рейтинг:
Оценить: 1 2 3 4 5

Комментарии: (0)

Добавить комментарий
Ваше имя*:
Ваш email:
URL Вашего сайта:
Ваш комментарий*:
Код безопастности*:

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру