Управление коллекциями проектов в Azure DevOps Server

Azure DevOps Server 2022 г. | Azure DevOps Server 2020 г. | Azure DevOps Server 2019 г.

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

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

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

Пример: возможное расположение баз данных коллекций

Просмотр сведений или настройка существующего проекта

  1. Если вы еще не были добавлены в качестве администратора Azure DevOps Server, добавьте его сейчас.

    Вы должны быть членом локальной группы администраторов на сервере, на котором вы хотите открыть консоль, а также членом Azure DevOps Server или группы администраторов Team Foundation, либо для разрешения На изменение Server-Level информации должно быть задано значение Разрешить.

  2. Войдите на сервер уровня приложений, откройте консоль администрирования и откройте узел Коллекции командных проектов .

    Снимок экрана: консоль Администратор, узел Коллекций командных проектов Azure DevOps Server 2022 г.

    Снимок экрана: консоль Администратор, узел Коллекций командных проектов Azure DevOps Server 2019–2020 гг.

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

    На соответствующей вкладке можно выполнить следующие задачи.

    Вкладка Задания
    Общие сведения
    • Начать сбор или Остановить сбор: запуск или остановка коллекции. Проекты становятся недоступными при остановке коллекции. Обычно коллекция останавливается для поддержки операций обслуживания, таких как перемещение или разделение коллекции.
    • Если коллекция запущена, отображается только остановить сбор . Если коллекция остановлена, отображается только запуск коллекции . Запуск или остановка коллекции может занять несколько минут. Для отображения изменения состояния может потребоваться выбрать Обновить .
    • Изменить параметры. Измените описание или конфигурацию коллекции.
    • Членство в группах. Добавление или удаление пользователей или групп в качестве участников коллекции. Дополнительные сведения см. в статье Настройка разрешений администратора для коллекций проектов.
    • Администрирование безопасности. Управление разрешениями группы коллекций. Дополнительные сведения см. в справочнике по разрешениям и группам.
    Состояние
    • Просмотр журнала действий или повторный запуск задания.
    Проекты

Настройка отчетов

Страница Отчеты отображается только при добавлении сервера отчетов в Azure DevOps. Выберите эту страницу, чтобы выполнить следующие задачи:

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

Создание коллекции проектов

Перед созданием коллекции проектов ознакомьтесь с разделом Каковы плюсы и недостатки создания нескольких коллекций проектов? как описано далее в этой статье.

  1. Если вы еще не были добавлены в качестве администратора, добавьте его сейчас.

    Вы должны быть членом локальной группы администраторов на сервере, на котором вы хотите открыть консоль, а также участнику группы Администраторы Team Foundation или вашему разрешению На изменение Server-Level информации должно быть задано значение Разрешить.

  2. В консоли администрирования откройте страницу Коллекции командных проектов и выберите Создать коллекцию.

    Снимок экрана: консоль администрирования, узел

    Снимок экрана консоли администрирования Azure DevOps Server с выделенным параметром

  3. Следуйте указаниям мастера создания коллекции командных проектов .

    В поле Имя укажите уникальное имя не более 64 символов (чем короче, тем лучше) и не указывайте косую черту или другие специальные символы, перечисленные в разделе Ограничения именования.

    Диалоговое окно Создание коллекции Azure DevOps Server 2022 с выбранным параметром Наследование.

    Снимок экрана: диалоговое окно

  1. Выберите Наследование , если вы хотите использовать пользовательский интерфейс для настройки отслеживания работы. Этот выбор зависит от службы аналитики для поддержки ваших потребностей в отчетах.

    Выберите XML, если вы хотите использовать XML-файлы определений для настройки отслеживания работы.

    Примечание

    Для локальной модели XML-процессов можно использовать witadmin для перечисления, импорта, экспорта и изменения процесса проекта. Для унаследованных моделей процессов можно использовать только witadmin для перечисления и экспорта сведений о процессе. Общие сведения о моделях процессов и поддерживаемых функциях см. в статье Настройка процесса отслеживания работы.

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

Экземпляр уровня данных или SQL Server

  1. Укажите имя сервера уровня данных Azure DevOps. Если вы хотите использовать именованный экземпляр для размещения базы данных для этой коллекции проектов, необходимо также указать имя экземпляра, как показано в следующем примере:

    Имя _сервера\Instancename

  2. Выберите Создать новую базу данных для этой коллекции , если вы хотите создать базу данных для коллекции. Для этого параметра требуется, чтобы учетная запись службы, используемая агентом фоновых заданий Visual Studio Team Foundation, была иметь разрешения на создание базы данных на экземпляре SQL Server.

    Или выберите Использовать существующую базу данных , если вы хотите использовать уже существующую базу данных, и укажите имя базы данных. Для этого параметра требуется, чтобы в именованном экземпляре SQL Server существовала пустая база данных и у вас были разрешения на запись.

службы SQL Server Reporting Services

  1. Отчеты отображаются, если вы настроили уровень приложений для использования SQL Server Reporting Services, в противном случае они отключены. Чтобы настроить его позже, см. статью Добавление сервера отчетов.

  2. Просмотрите сведения о сервере и папке, в которую будут размещаться отчеты, и нажмите кнопку Далее. Для этого параметра требуется, чтобы у учетной записи пользователя были разрешения на создание папки на сервере, на котором выполняется Reporting Services.

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

  3. Если необходимо использовать папку, созданную администратором на сервере, на котором выполняется Reporting Services, разверните узел Расширенная конфигурация, выберите Указать путь к существующей папке и укажите относительный путь к созданной папке.

    Выберите Проверить путь и, если путь правильный, нажмите кнопку Далее.

Процесс проверки

  1. В разделе Проверки готовности просмотрите состояние проверок.

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

    После прохождения всех проверок готовности нажмите кнопку Создать.

  2. Начинается процесс создания коллекции проектов.

    Снимок экрана: диалоговое окно

    После завершения работы мастера нажмите кнопку Закрыть.

Отсоединение или удаление коллекции проектов

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

Вы удаляете коллекцию, если вам больше не нужны данные, хранящиеся в проектах, определенных в коллекции. Три шага удаления коллекции: (1) отсоединение коллекции и (2) удаление базы данных коллекции.

Отключение коллекции

  1. В консоли администрирования выделите имя коллекции, которую требуется удалить, а затем выберите Команду Отсоединить коллекцию.

    Снимок экрана: выбор пункта

    Снимок экрана: выбор пункта

  2. Следуйте указаниям мастера отсоединения коллекции командных проектов.

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

  3. После успешного завершения всех проверок готовности нажмите кнопку Отсоединить.

    На странице Мониторинг хода отсоединения коллекции проектов после завершения всех процессов нажмите кнопку Далее.

  4. (Необязательно) На странице Просмотр дополнительных сведений для этой коллекции проектов обратите внимание на расположение файла журнала.

Удаление базы данных коллекции

  1. Откройте SQL Server Management Studio, подключитесь к экземпляру ядра СУБД SQL Server, в котором размещена база данных коллекции, и разверните экземпляр .

    Выделите имя базы данных коллекции (по умолчанию TFS_CollectionName), а затем удалите базу данных.

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

Коллекция проектов больше не отображается в списке коллекций в консоли администрирования.

Вопросы и ответы

Вопрос. Существует ли программа командной строки для управления коллекциями?

A: Команду TFSConfig Collection можно использовать для присоединения, отсоединения, удаления или клонирования коллекции проектов.

Вопрос. Каковы плюсы и недостатки создания нескольких коллекций проектов?

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

О. Преимущества создания нескольких коллекций

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

Группирование проектов в несколько коллекций обеспечивает следующие преимущества.

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

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

    • Создание, ветвление, слияние и итерации автономной базы кода в соответствии с потребностями проектов в коллекции. Можно формально управлять зависимостями кода вне коллекции.
    • Резервное копирование и восстановление данных для каждой коллекции независимо от других коллекций.
    • Храните все базы данных коллекции на одном экземпляре SQL Server или распределяйте базы данных между одним или несколькими экземплярами.
    • Отсоедините коллекцию, создайте ее резервную копию, а затем восстановите ее в другом развертывании Azure DevOps.
    • Переназначение ресурсов для более эффективного удовлетворения потребностей проектов по мере увеличения их размера с течением времени.
  • Повышение операционной безопасности. Так как каждая коллекция имеет собственный набор пользователей и разрешений, изоляцию разных баз кода можно изолировать в разных коллекциях. Администраторы могут добавлять пользователей только в коллекцию, содержащую проект или проекты, относящиеся к конкретной базе кода.

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

A. Недостатки создания нескольких коллекций

Недостаток main создания нескольких коллекций проектов заключается в том, что вы повышаете сложность развертывания Azure DevOps.

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

Вопрос. Какие ресурсы управляются на уровне коллекции?

A: Каждый проект принадлежит коллекции. Дополнительные сведения об управлении коллекцией см. в статье Приступая к управлению организацией или коллекцией проектов.

Вопрос. Как данные, хранящиеся в разных коллекциях команд, поддерживают отчеты?

A: Одно реляционное хранилище данных содержит все отчетные данные из всех проектов, определенных во всех коллекциях проектов для развертывания Azure DevOps. Данные из этого хранилища затем обрабатываются и записываются в куб OLAP. Так как данные собираются в одном хранилище данных, можно выполнять отчеты по нескольким коллекциям проектов.

Для создания или настройки отчетов необходимо добавить учетные записи пользователей в роль TfsWarehouseDataReader. Авторам отчетов необходим доступ на чтение и к реляционному хранилищу данных, и к кубу служб Analysis Services. Эти учетные записи могут просматривать данные для всех командных проектов, размещенных во всех коллекциях проектов в развертывании Azure DevOps. Невозможно ограничить доступ к проекту или коллекции.

Вопрос. Разделы справки масштабировать развертывание с помощью коллекций?

A: См. статью Перемещение коллекции проектов или Разделение коллекции проектов.