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

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

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

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

  • Вы обновили более раннюю версию Azure DevOps Server, у вас есть только одна коллекция, и вы хотите упорядочить проекты в отдельные коллекции по соображениям безопасности или бизнес-выравнивания.

  • Вы хотите изменить владельца некоторых проектов в коллекции на удаленный офис с собственным развертыванием Azure DevOps Server. Данный сценарий требует, чтобы вы сначала разделили коллекцию и переместили одну из получившихся коллекцию в TFS, развернутый в удаленном офисе.

    Примечание

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

Чтобы разделить коллекцию проектов, выполните следующие действия.

  1. Подготовка к разделу коллекции

    1. Отсоединение коллекции
    2. Создание резервной копии базы данных коллекции
  2. Разделение коллекции

    1. Восстановление базы данных коллекции с другим именем
    2. Присоединение исходной базы данных коллекции
    3. Присоединение переименованной базы данных коллекции
    4. Удаление проектов из разделенных коллекций
    5. Запуск коллекций
  3. Настройка разделенных коллекций

    1. Настройка пользователей и групп для разделенных коллекций проектов
    2. Настройка пользователей и группы для проектов в коллекциях

Подготовка к работе

Убедитесь, что вы являетесь администратором серверов, а также SQL Server и Azure DevOps Server. Если вы не являетесь администратором, добавьте его в качестве администратора.

1a. Отключение коллекции

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

Отключение коллекции проектов

  1. Откройте консоль администрирования Для Azure DevOps на сервере, на котором размещена коллекция для разделения.

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

    В этом примере администратор выбирает TestProjects.

    Выбор коллекции из списка коллекций

    Совет

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

  3. На вкладке Общие выберите Остановить сбор.

    Интерфейс остановки сбора

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

  4. На вкладке Общие выберите Отсоединить коллекцию.

    Откроется мастер отсоединения коллекции проектов .

    Мастер отсоединения коллекций

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

  6. На странице Проверка параметров, которые будут использоваться для отсоединения коллекции проектов , просмотрите сведения. Чтобы изменить параметры, выберите Назад. Если они верны, нажмите кнопку Проверить.

  7. После успешного завершения всех проверок готовности выберите Отсоединить.

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

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

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

1б. Создание резервной копии базы данных коллекции

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

Резервное копирование базы данных

Резервное копирование базы данных коллекции

2a. Восстановление баз данных коллекции

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

Совет

Ниже приведены общие сведения о восстановлении базы данных коллекции проектов в SQL Server 2012 с помощью SQL Server Management Studio. Дополнительные сведения о резервном копировании и восстановлении отдельных баз данных вручную см. в статье Резервное копирование и восстановление баз данных в SQL Server. Обязательно выберите версию SQL Server, соответствующую развертыванию.

Восстановление базы данных коллекции с новым именем

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

  2. В обозреватель объектов разверните узел Базы данных, откройте подменю для разделения базы данных, а затем выберите Задачи, Восстановить, а затем база данных.

    На странице Общие откроется окно Восстановление базы данных.

    Параметр

  3. В поле Источник убедитесь, что выбрана база данных коллекции проектов. В поле Назначение укажите имя копии базы данных. Сохраните префикс Tfs_ и добавьте уникальное имя. Как правило, это имя является именем разделенной коллекции проектов. В разделе План восстановления убедитесь, что резервные наборы данных для восстановления являются теми, в которые требуется выполнить восстановление. Чтобы убедиться, что это допустимые наборы, выберите Проверить носитель резервного копирования , а затем на странице Выбор страницы выберите Параметры.

  4. В разделе Параметры восстановления оставьте все поля проверка пустыми. Убедитесь, что для параметра Состояние восстановления задано значение RESTORE WITH RECOVERY. В tail-Log Backup снимите флажок Оставить базу данных-источник в проверка состояния восстановления, а затем нажмите кнопку ОК.

    Совет

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

2б. Присоединение исходной базы данных коллекции

После восстановления базы данных с другим именем повторно подключите исходную базу данных коллекции к развертыванию Azure DevOps Server.

Присоединение коллекции

  1. Откройте консоль администрирования для Azure DevOps.

  2. Выберите Коллекции проектов, а затем — Вложить коллекцию.

    Откроется мастер присоединения коллекции проектов .

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

  4. В списке Базы данных выберите базу данных коллекции для подключения.

    Список баз данных

  5. На странице Ввод сведений о коллекции проекта укажите имя коллекции в поле Имя , если оно еще отсутствует. Так как это исходная коллекция, можно оставить имя того же, что и раньше. При необходимости в поле Описание укажите описание коллекции.

  6. На странице Проверка параметров, которые будут использоваться для присоединения коллекции проектов , просмотрите сведения.

  7. Чтобы изменить параметры, выберите Назад. Если все параметры верны, нажмите кнопку Проверить.

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

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

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

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

    Изображение остановки сбора

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

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

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

  1. Откройте консоль администрирования для Azure DevOps.

  2. Выберите Коллекции проектов, а затем вложить коллекцию , чтобы открыть мастер.

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

  4. В списке Базы данных выберите переименованную базу данных коллекции.

  5. На странице Ввод сведений о коллекции проектов в поле Имя введите имя переименованной коллекции, которое отличается от имени исходного имени коллекции. Оно должно совпадать с именем, присвоенным переименованной базе данных без префикса Tfs_.

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

  6. (Необязательно) В поле Описание введите описание коллекции.

  7. На странице Проверка параметров, которые будут использоваться для присоединения коллекции проектов , просмотрите сведения. Чтобы изменить параметры, выберите Назад. Если все параметры верны, нажмите кнопку Проверить.

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

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

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

  11. Имя коллекции отображается в списке коллекций в консоли администрирования, а ее состояние должно отображаться как Автономно.

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

  12. Чтобы убедиться, что обе коллекции были присоединены с уникальными идентификаторами, в консоли администрирования перейдите к журналам событий и откройте файлы журналов для обеих операций присоединения. Идентификаторы GUID для CollectionProperties не должны совпадать.

    Журналы, включающие идентификаторы GUID для CollectionProperties

    В маловероятном случае, если идентификаторы GUID CollectionProperties совпадают, измените идентификатор на уникальный, прежде чем продолжить выполнение команды TFSConfig Collection во второй коллекции с параметром /clone.

2г. Удаление проектов из разделенных коллекций

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

Важно!

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

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

  1. Откройте консоль администрирования для Azure DevOps.

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

  3. На вкладке Проекты в списке проектов выберите проект для удаления из коллекции, а затем нажмите кнопку Удалить.

    Совет

    Одновременно можно удалить несколько проектов.

    Консоль администрирования TFS для удаления проектов

  4. Установите флажок Удалить данные рабочей области проверка, оставьте флажок Удалить внешние артефакты проверка и нажмите кнопку Удалить.

    Если флажок Удалить внешние артефакты проверка не снят и проект настроен для использования управления лабораториями, виртуальные машины и шаблоны, связанные с проектом, будут удалены из System Center Virtual Machine Manager. Они больше не будут доступны для проекта в переименованной коллекции. (Обратите внимание, что lab Management является нерекомендуемой для TFS 2017 и более поздних версий.)

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

    Вкладка

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

2д. Запуск коллекций проектов

После удаления проектов перезапустите обе коллекции.

Запуск коллекции проектов

  1. Откройте консоль администрирования для Azure DevOps.

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

  3. На вкладке Общие выберите Начать сбор.

  4. Повторите пункт 2 для коллекции, присоединенной с новым именем.

    Консоль администрирования TFS

3a. Настройка пользователей и группы для разделенных коллекций

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

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

3б. Настройка пользователей и группы для проектов

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

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

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

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

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

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

Важно!

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

Разделение отчетов на отдельные папки

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

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

Перестроение хранилища данных и базы данных служб Analysis Services

  1. Откройте консоль администрирования для Azure DevOps.

  2. На панели навигации выберите Отчеты.

  3. В разделе Отчеты выберите Начать перестроение.

  4. В диалоговом окне Перестроение баз данных хранилища и служб Analysis Services нажмите кнопку ОК.

    Примечание

    После завершения действия "Запуск перестроения" продолжится перестроение хранилища и повторное заполнение данных. В зависимости от размера развертывания и объема данных весь процесс может занять несколько часов.