Управление коллекциями командных проектов
Если ваш Team Foundation Server (TFS) содержит несколько командных проектов, вы можете управлять ими более эффективно, группируя их и назначая им одни и те же ресурсы. Например, можно объединить в одну группу проекты со сходными требованиями или целями, скажем, все командные проекты, связанные с определенной базой кода. Такой группой командных проектов можно управлять как автономным ресурсом с собственными группами пользователями, серверными ресурсами и расписанием обслуживания.
Группа командных проектов называется коллекцией командных проектов. При установке TFS создается коллекция по умолчанию, которая будет содержать все командные проекты. При создании коллекции вы задаете логические и физические ресурсы, которые могут использоваться проектами данной коллекции. Все артефакты и данные, используемые этими командными проектами, хранятся в единой базе данных коллекции.
На следующем рисунке показано, как базы данных коллекций командных проектов интегрируются с логической архитектурой TFS. При создании командного проекта вы указываете коллекцию, где будут храниться его данные.
Просмотр сведений или настройка существующих коллекций командных проектов
Если вы еще не добавлены в качестве администратора TFS, добавьтесь сейчас.
Вы должны быть членом локальной группы администраторов на том сервере, где хотите открыть консоль. Также потребуется либо членство в группе администраторов Team Foundation, либо разрешение Изменение сведений на уровне сервера, установленное в значение Разрешить.
Войдите на сервер уровня приложений для TFS, откройте консоль администрирования TFS и откройте узел коллекций командных проектов.
Сведения о том, как открыть консоль администрирования, см. в разделе Использование консоли администрирования Team Foundation для настройки и управления развертыванием.
Выделите имя коллекции и просмотрите сведения на различных вкладках. Некоторые вкладки появляются только в том случае, если соответствующее приложение было настроено для поддержки уровня приложений в развертывании TFS.
На соответствующей вкладке вы можете выполнять следующие задачи.
Вкладка
Задачи
Общие правила
Запуск коллекции или Остановка коллекции: запуск или остановка коллекции. При остановке коллекции командные проекты становятся недоступными. Обычно коллекция останавливается для выполнения операций обслуживания, таких как перемещение или разделение коллекции.
Если коллекция запущена, доступна только задача Остановка коллекции. Если коллекция остановлена, доступна только задача Запуск коллекции. Запуск или остановка коллекции может занять несколько минут. Может потребоваться щелкнуть Обновить для отображения изменения состояния.
Изменение параметров: изменение описания или конфигурации коллекции.
Членство в группе: добавление или удаление пользователей или групп в качестве членов коллекции. Дополнительные сведения см. в разделе Задание разрешений администратора для коллекций командных проектов.
Администрирование безопасности: управление разрешениями группы коллекций. Дополнительные сведения см. в разделе Справочник по разрешениям Team Foundation Server.
Состояние
Просмотр журнала изменений или повторный запуск задания.
Командные проекты
Просмотр командных проектов, определенных для коллекции, и Удаление командного проекта.
Дополнительные сведения о командных проектах см. в статье Создание командного проекта.
Папка "Отчеты"
Настройка сервера отчетов для использования в коллекции.
Если при изменении расположения папки по умолчанию вы укажете путь к папке, которая не существует на сервере, и при этом не имеете прав на создание папки на этом сервере, то операция завершится неудачно. Если у вас нет прав на создание папки на данном сервере, вы должны ввести путь к существующей папке.
Чтобы удалить расположение по умолчанию для вложенных папок отчетов, выберите Очистить конфигурацию.
При удалении конфигурации удаляется функциональность создания отчетов для всех существующих и будущих командных проектов в коллекции.
Эта вкладка отображается только в случае, если вы добавили к TFS сервер отчетов.
Сайт SharePoint
Просмотр, настройка или удаление корневого расположения по умолчанию, в котором создаются порталы командных проектов. Мастер создания нового командного проекта создает порталы командных проектов в этом расположении.
Если список Веб-приложение SharePoint пуст, то на уровне приложений не были настроены никакие приложения.
Эта вкладка отображается только в том случае, если на уровне приложений были настроены продукты SharePoint. См. раздел Добавление продуктов SharePoint в развертывание.
Создание коллекции командных проектов
Прежде чем создавать коллекции командных проектов, перейдите в этот раздел, чтобы ознакомиться с преимуществами и недостатками создания нескольких коллекций командных проектов.
Если вы еще не добавлены в качестве администратора в TFS, добавьтесь сейчас.
Вы должны быть членом локальной группы администраторов на том сервере, где хотите открыть консоль. Также потребуется либо членство в группе администраторов Team Foundation, либо разрешение Изменение сведений на уровне сервера, установленное в значение Разрешить.
Из консоли администрирования откройте страницу коллекций командных проектов и выберите элемент Создать коллекцию.
Следуйте инструкциям мастера создания коллекции командных проектов.
В поле Имя укажите уникальное имя длиной не более 64 символов (чем короче, тем лучше), не используя символы косой черты или другие специальные символы, перечисленные в статье Ограничения именования в Team Foundation.
Этот мастер помогает настроить следующие ресурсы. Некоторые ресурсы можно настроить только в том случае, если сервер уровня приложений, на котором размещается коллекция, ранее был настроен для поддержки соответствующего приложения.
Экземпляр сервера уровня данных или SQL Server
В поле Экземпляр SQL Server укажите имя сервера TFS уровня данных. Если необходимо использовать именованный экземпляр для размещения базы данных для этой коллекции командных проектов, следует также указать имя экземпляра, как показано в следующем примере:
ИмяСевера**\**ИмяЭкземпляра
Если вы хотите создать базу данных для этой коллекции, установите флажок Создать новую базу данных для данной коллекции. Для этого параметра требуется, чтобы учетная запись службы агента фоновых заданий Visual Studio Team Foundation имела разрешения на создание базы данных в экземпляре SQL Server.
Если же вы хотите использовать существующую базу данных, установите флажок Использовать эту существующую базу данных и укажите имя базы данных в текстовом поле. Для этого параметра требуется, чтобы в именованном экземпляре SQL Server существовала пустая база данных, и чтобы вы имели разрешения на запись.
Веб-приложение SharePoint
Вкладка Веб-приложение SharePoint отображается, если на уровне приложений вы настроили веб-приложение SharePoint; в противном случае она отключена. О том, как настроить его позднее, см. в статье Добавление продуктов SharePoint в развертывание.
Если вы хотите использовать параметр по умолчанию для создания семейства веб-сайтов, нажмите кнопку Далее. Выбирайте этот параметр, если в вашей бизнес-инфраструктуре не требуется использовать существующее семейство веб-сайтов. При выборе этого параметра будет создано семейство веб-сайтов SharePoint, и имя этого семейства будет использоваться в качестве имени дочернего сайта корневого сайта, настроенного в веб-приложении SharePoint.
Для этого параметра требуется, чтобы учетная запись службы TFS была членом группы администраторов фермы. В противном случае вы не сможете создать семейство веб-сайтов.
Если же требуется использовать существующее семейство веб-сайтов, созданное членом группы администраторов фермы, разверните раздел Дополнительная настройка, выберите пункт Укажите путь к существующему сайту SharePoint и укажите относительный путь к этому созданному семейству веб-сайтов.
Выберите Проверить путь и, если путь правильный, нажмите кнопку Далее.
Службы отчетов SQL Server
Вкладка Отчеты появляется в том случае, если на уровне приложений было настроено использование служб SQL Server Reporting Services; в противном случае она отключена. О том, как настроить их позднее, см. в статье Добавление сервера отчетов.
Просмотрите сведения о сервере и папке, где будут размещаться отчеты, и нажмите кнопку Далее. Для этого параметра требуется, чтобы ваша учетная запись пользователя имела разрешения на создание папки на сервере, где запущены службы отчетов Reporting Services.
Если только ограничения безопасности в бизнес-инфраструктуре не запрещают автоматическое создание папки в рамках использования мастера, следует использовать параметр по умолчанию для создания папки.
Если необходимо использовать папку, которую администратор создал на сервере, на котором работают Reporting Services, разверните раздел Дополнительная настройка, выберите пункт Укажите путь к существующей папке и укажите относительный путь к папке, созданной для вас.
Выберите Проверить путь и, если путь правильный, нажмите кнопку Далее.
Lab Management
Вкладка Lab Management появляется в том случае, если на уровне приложений было настроено использование Lab Management для коллекции; в противном случае она отключена. О том, как настроить ее позднее, см. в статье Настройка Lab Management для сред SCVMM.
Если вы не используете Lab Management, переходите к разделу Процесс проверки.
Если вы используете Lab Management, выполните шаги из раздела Настройка Lab Management для каждой коллекции командных проектов, как описано в статье Настройка Lab Management для сред SCVMM.
Процесс проверки
в Проверки готовности просмотрите состояние проверок.
Синий индикатор Ошибка с подчеркиванием отображается рядом с любой конфигурацией, которая содержит ошибку. Можно выбрать индикатор, чтобы просмотреть подробное сообщение об ошибке. Прежде чем продолжить, необходимо устранить все ошибки.
После выполнения всех проверок готовности щелкните Создать.
Начинается процесс создания коллекции командных проектов.
После завершения работы мастера нажмите кнопку Закрыть.
Отключение или удаление коллекции командных проектов
Коллекция командных проектов отключается, когда вам требуется выполнить операцию обслуживания, такую как перемещение или разделение коллекции. После отключения коллекции команды не имеют доступа к командным проектам и исходному коду.
Коллекция удаляется, когда вам больше не нужны данные, которые хранятся в командных проектах, определенных в коллекции. Три шага для удаления коллекции: (1) отключение коллекции, (2) удаление базы данных коллекции и (3) удаление семейства веб-сайтов SharePoint, которое поддерживало удаленную коллекцию.
Отсоединение коллекции
В консоли администрирования выделите имя коллекции, которую требуется удалить, а затем выберите Отключить коллекцию.
Следуйте инструкциям мастера отключения коллекции командных проектов.
(Необязательно). На странице Предоставьте сообщение обслуживания для коллекции командных проектов в поле Сообщение обслуживания введите сообщение для пользователей, которые могут делать попытки подключения к проектам данной коллекции.
После успешного завершения всех проверок готовности щелкните Отсоединить.
На странице Наблюдение за процессом отсоединения коллекции командных проектов нажмите кнопку Далее, когда все процессы будут завершены.
(Необязательно). На странице Просмотрите дополнительную информацию для данной коллекции командных проектов выясните расположение файла журнала.
Удаление базы данных и семейства веб-сайтов SharePoint
Откройте SQL Server Management Studio, подключитесь к экземпляру ядра СУБД SQL Server, который содержит базу данных коллекции, и раскройте экземпляр.
Выделите имя базы данных коллекции (по умолчанию —TFS_имя_коллекции) и удалите эту базу данных.
Дополнительные сведения см. в статье Удаление базы данных.
Откройте Центр администрирования SharePoint и удалите семейство веб-сайтов, которое поддерживало удаленную коллекцию.
Дополнительные сведения см. в статье Удаление семейства веб-сайтов в SharePoint 2013.
Коллекция командных проектов больше не отображается в списке коллекций в консоли администрирования.
Вопросы и ответы
Вопрос. В чем заключаются преимущества и недостатки создания нескольких коллекций командных проектов?
Если возможность разветвления и объединения кода может облегчить ваши усилия в области разработки, или вам необходимо запрашивать состояние рабочих элементов, относящихся к одному и тому же коду, следует объединить командные проекты в одну коллекцию командных проектов.
Ответ. Преимущества создания нескольких коллекций
Вы можете лучше разделять функциональные потребности одной базы кода или одной группы проектов от функциональных потребностей другой группы. Поскольку данные каждой коллекции хранятся в ее собственной базе данных, многими аспектами каждой коллекции можно управлять независимо от других коллекций в развертывании. Например, можно запускать и останавливать каждую коллекцию в отдельности. Благодаря этому можно планировать операции по обслуживанию коллекций на разное время.
Группирование командных проектов в несколько коллекций обеспечивает следующие преимущества:
Большая степень гибкости и масштабируемости при управлении базами данных и ресурсами и распространении их. Группа связанных командных проектов совместно использует отчеты, рабочие элементы и руководства по процессу, а также базу кода.
Благодаря созданию базы данных для каждой коллекции команды и администраторы могут выполнять следующие задачи:
Сборка, ветвление, слияние и выполнение итераций для автономной базы кода в соответствии с потребностями проектов в коллекции. Можно формально управлять зависимостями кода вне коллекции.
Резервное копирование и восстановление данных для каждой коллекции независимо от других коллекций.
Хранение всех баз данных коллекций на одном экземпляре SQL Server или распределение баз данных по нескольким экземплярам.
Отключение коллекции, создание ее резервной копии и последующее восстановление в другом развертывании TFS.
Переназначение ресурсов для лучшего удовлетворения требований проектов по мере их роста со временем.
Повышенная эксплуатационная безопасность. Поскольку каждая коллекция имеет собственный набор пользователей и разрешений, можно изолировать разные базы кода в рамках разных коллекций. Администраторы могут добавлять пользователей только в ту коллекцию, которая содержит проект или проекты, относящиеся к данной конкретной базе кода.
Улучшенная возможность поддержки пользовательских рабочих процессов. Каждая коллекция управляет шаблонами процессов, типами рабочих элементов, типами связей, глобальными списками и полями рабочих элементов независимо от других коллекций. Разделяя командные проектов, имеющие различные рабочие процессы, по разным коллекциям, вы можете предоставлять только те настройки, которые необходимы командным проектам, находящимся в коллекции.
Ответ. Недостатки создания нескольких коллекций
Главным недостатком создания нескольких коллекций командных проектов является повышение сложности развертывания TFS.
Для каждой коллекции необходимо выполнять резервное копирование и восстановление базы данных; другие задачи управления и обслуживания также усложняются пропорционально количеству коллекций. Например, необходимо управлять набором пользователей и разрешений для каждой коллекции в отдельности.
Связывание рабочих элементов через границы коллекций невозможно.
Нельзя осуществлять ветвление и объединение кода между коллекциями.
Нельзя создавать межколлекционные запросы.
Вопрос. Какие объекты или ресурсы управляются на уровне коллекции?
Ответ. Каждый командный проект принадлежит коллекции. Кроме того, на уровне коллекции управляются следующие объекты:
Система управления версиями (TFVC): типы файлов и включение и отключение асинхронного извлечения в серверных рабочих областях.
Отслеживание рабочих элементов: шаблонов процессов, типов рабочих элементов, типов связей, полей рабочих элементов, глобальных списков и глобального рабочего процесса.
Все поля, заданные для всех командных проектов, определенных в коллекции, управляются или настраиваются для коллекции. В одной коллекции командных проектов можно определить не более 1024 полей рабочих элементов, а во всех коллекциях командных проектов можно задать не более 1024 отчетных полей.
Разработка, тестирование, операции: контроллеры сборок и ресурсы Lab Management (группа узлов и общая папка библиотеки из SCVMM).
Безопасность: группы уровня коллекции и разрешения уровня коллекции.
Вопрос. Как TFS поддерживает отчеты по данным, сохраненным для разных коллекций командных проектов?
Ответ. Одно хранилище реляционных данных содержит все данные для отчетов из всех командных проектов, определенных во всех коллекциях проектов для развертывания TFS. Данные из этого хранилища затем обрабатываются и записываются в куб OLAP. Поскольку данные собираются в одно хранилище данных, можно создавать отчет по данным из нескольких коллекций командных проектов.
Чтобы пользователи могли создавать или настраивать отчеты, вы должны добавить учетные записи пользователей в роль TfsWarehouseDataReader. Авторам отчетов требуется доступ на чтение в реляционном хранилище данных и в кубе служб Analysis Services. Эти учетные записи могут просматривать данные для всех командных проектов, размещенных во всех коллекциях командных проектов в развертывании TFS. Способы ограничения доступа к командному проекту или коллекции не предусмотрены.
Вопрос. Как масштабировать мое развертывание, используя коллекции?
Ответ. См. статьи Перемещение коллекции командных проектов и Разделение коллекции командных проектов.
Вопрос. Существует ли программа командной строки для управления коллекциями?
Ответ. Вы можете использовать команду TFSConfig Collection для подключения, отключения, удаления или клонирования коллекции командных проектов. См. раздел Команда collection [TFSConfig].