Разделение коллекции проектов
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
По мере изменения бизнеса может потребоваться разделить одну коллекцию проектов на несколько коллекций проектов. Например:
Вы хотите, чтобы проекты в коллекции соответствовали бизнес-подразделениям организации, а проекты в коллекции теперь принадлежат отдельным подразделениям.
Вы обновили более раннюю версию Azure DevOps Server, у вас есть только одна коллекция, и вы хотите упорядочить проекты в отдельные коллекции по соображениям безопасности или бизнес-выравнивания.
Вы хотите изменить владение некоторыми проектами в коллекции на удаленный офис с собственным развертыванием Azure DevOps Server. Для этого сценария необходимо сначала разделить коллекцию, а затем переместить одну из результирующей коллекции в удаленное развертывание office.
Примечание.
Процедуры в этой статье поддерживают только разделение коллекции проектов. Чтобы переместить коллекцию после разделения, см. статью "Переместить коллекцию проектов".
Чтобы разделить коллекцию проектов, выполните следующие действия.
Подготовка к разделию коллекции
Разделение коллекции
Настройка разделенных коллекций
Подготовка к работе
Убедитесь, что вы являетесь администратором на серверах и в SQL Server и Azure DevOps Server. Если вы не являетесь администратором, добавьте его как один.
1-a. Отключение коллекции
Сначала отсоедините коллекцию от развертывания Azure DevOps Server, на котором она запущена. Отключение коллекции останавливает все задания и службы, а также саму базу данных коллекции. Кроме того, процесс отсоединения копирует данные, относящиеся к коллекции, из базы данных конфигурации и сохраняет его в составе базы данных коллекции проектов.
Отключение коллекции проектов
Откройте консоль администрирования Azure DevOps на сервере, на котором размещена коллекция для разделения.
Выберите коллекции проектов и в списке коллекций выберите коллекцию, чтобы разделить ее.
В этом примере администратор выбирает TestProjects.
Совет
Имя по умолчанию для коллекции проектов — DefaultCollection. Если вы разделяете эту базу данных, обязательно присвойте второй коллекции другое имя, так как это выбор по умолчанию при подключении.
На вкладке "Общие " выберите "Остановить коллекцию".
Откроется диалоговое окно "Причина состояния коллекции проектов". Текст, который вы вводите, будет отображаться пользователям. Нажмите кнопку "Остановить" и дождитесь остановки коллекции. После остановки его состояние будет отображаться как "Автономный".
На вкладке "Общие " выберите "Отсоединить коллекцию".
Откроется мастер отсоединения коллекции проектов.
(Необязательно) На странице "Предоставление обслуживания" на странице коллекции проектов в сообщении обслуживания укажите сообщение для пользователей, которые могут попытаться подключиться к проектам в этой коллекции.
В параметрах проверки, которые будут использоваться для отсоединения страницы коллекции проектов, просмотрите сведения. Чтобы изменить параметры, нажмите кнопку "Назад". Если они правильны, нажмите кнопку "Проверить".
После успешного завершения всех проверок готовности нажмите кнопку "Отсоединить".
На странице "Мониторинг процесса отсоединения коллекции проектов" при завершении всех процессов нажмите кнопку "Далее".
(Необязательно) На странице "Просмотр дополнительных сведений" для этой страницы коллекции проектов выберите или запишите расположение файла журнала, а затем закройте мастер.
Коллекция проектов больше не отображается в списке коллекций в консоли администрирования.
1-b. Резервное копирование базы данных коллекции
После отсоединения коллекции необходимо создать резервную копию базы данных, прежде чем восстановить копию на сервер с другим именем. Эта копия станет базой данных для части исходной коллекции, которую вы хотите разделить на другую коллекцию. Для выполнения этой задачи используйте средства, предоставляемые SQL Server.
Резервное копирование базы данных коллекции
Сведения о том, как вручную создавать резервные копии и восстанавливать отдельные базы данных, см. в статье "Резервное копирование и восстановление баз данных в SQL Server " и "Создание расписания резервного копирования и плана". Обязательно выберите версию SQL Server, которая соответствует развертыванию.
Внимание
Если исходное развертывание использовало выпуски SQL Server enterprise или Datacenter, и вы хотите восстановить базу данных, которую требуется разделить на сервер, на котором работает выпуск Standard, необходимо использовать резервный набор, который был создан с отключенным сжатием SQL Server. Если вы не отключите сжатие данных, вы не сможете успешно восстановить базы данных Enterprise или Datacenter на сервере с выпуском Standard. Чтобы отключить сжатие, выполните действия, описанные в разделе "Отключить сжатие данных SQL Server в базах данных Azure DevOps".
2-a. Восстановление базы данных коллекции
При разбинии коллекции необходимо восстановить резервную копию базы данных коллекции на экземпляр SQL Server, настроенный для поддержки развертывания Azure DevOps Server. При восстановлении базы данных необходимо указать другое имя от имени исходной базы данных коллекции.
Совет
Ниже приведен общий обзор восстановления базы данных коллекции проектов в SQL Server 2012 с помощью SQL Server Management Studio. Дополнительные сведения о резервном копировании и восстановлении отдельных баз данных вручную см. в статье "Резервное копирование и восстановление баз данных в SQL Server". Обязательно выберите версию SQL Server, которая соответствует развертыванию.
Восстановление базы данных коллекции с новым именем
Откройте СРЕДУ SQL Server Management Studio и подключитесь к экземпляру, в котором размещена база данных для коллекции проектов для разделения.
В обозреватель объектов разверните базы данных, откройте вложенное меню для разбиения базы данных, а затем выберите "Задачи", "Восстановить", а затем выберите "База данных".
Откроется окно "Восстановить базу данных" на странице "Общие ".
В источнике убедитесь, что выбрана база данных коллекции проектов. В целевом расположении укажите имя копии базы данных. Сохраните префикс Tfs_ и добавьте уникальное имя. Как правило, это имя — имя коллекции разделенных проектов. В плане восстановления убедитесь, что резервные наборы для восстановления являются теми, на которые вы хотите восстановить. Чтобы убедиться, что эти наборы допустимы, выберите "Проверить носитель резервного копирования", а затем на странице выберите "Параметры".
В параметрах восстановления оставьте все флажки пустыми. Убедитесь, что для состояния восстановления задано значение RESTORE WITH RECOVERY. В резервном копировании tail-Log снимите флажок "Оставить исходную базу данных" в поле "Восстановление состояния " и нажмите кнопку "ОК".
Совет
Если операция восстановления завершается сбоем с сообщением об ошибке, указывающее, что база данных используется и не может быть перезаписана, может потребоваться вручную настроить все имена логических файлов, чтобы отразить новое имя базы данных. На странице "Выбор" выберите "Файлы", нажмите кнопку с многоточием рядом с каждым восстановленным файлом и убедитесь, что имена файлов отражают новое имя базы данных, а не старую. Затем повторите операцию восстановления.
2-b. Присоединение исходной базы данных коллекции
После восстановления базы данных с другим именем повторно прикручите исходную базу данных коллекции к развертыванию Azure DevOps Server.
Присоединение коллекции
Откройте консоль администрирования для Azure DevOps.
Выберите "Коллекции проектов" и выберите "Присоединить коллекцию".
Откроется мастер присоединения коллекции проектов.
На странице "Выбор базы данных коллекции проектов для присоединения" в экземпляре SQL Server укажите имя сервера и экземпляр, на котором размещена база данных коллекции, если она еще не указана.
В списке баз данных выберите базу данных коллекции для присоединения.
На странице "Ввод сведений о коллекции проекта" укажите имя коллекции в поле "Имя", если он еще не присутствует. Так как это исходная коллекция, можно оставить имя таким же, как и раньше. При необходимости укажите описание коллекции.
В параметрах проверки, которые будут использоваться для присоединения страницы коллекции проектов, просмотрите сведения.
Чтобы изменить параметры, нажмите кнопку "Назад". Если все параметры правильны, нажмите кнопку "Проверить".
После успешного завершения всех проверок готовности нажмите кнопку "Присоединить".
На странице "Мониторинг коллекции проектов" прикрепите ход выполнения всех процессов, нажмите кнопку "Далее".
(Необязательно) На странице "Просмотр дополнительных сведений" для этой страницы коллекции проектов выберите или запишите расположение файла журнала и закройте мастер.
Коллекция проектов отображается в списке коллекций в консоли администрирования. Если состояние коллекции указано как Online, перед продолжением его необходимо остановить. Выберите коллекцию из списка и на вкладке "Общие " выберите "Остановить коллекцию".
2-c. Присоединение переименованной базы данных коллекции
После присоединения исходной базы данных коллекции необходимо присоединить переименованную коллекцию к развертыванию Azure DevOps Server. При присоединении этой коллекции она останется остановленной. Вы не сможете запустить его до тех пор, пока все повторяющиеся проекты не будут удалены.
Присоединение переименованной базы данных коллекции
Откройте консоль администрирования для Azure DevOps.
Выберите "Коллекции проектов" и нажмите кнопку "Присоединить коллекцию ", чтобы открыть мастер.
На странице "Выбор базы данных коллекции проектов" в экземпляре SQL Server укажите имя сервера и экземпляр, на котором размещена переименованная база данных коллекции, если она еще не указана.
В списке баз данных выберите переименованную базу данных коллекции.
На странице сведений о коллекции проекта введите имя переименованной коллекции в Name, которая отличается от имени исходного имени коллекции. Это должно соответствовать имени, присвоенного переименованной базе данных, без префикса Tfs_.
(Необязательно) В поле "Описание" введите описание коллекции.
В параметрах проверки, которые будут использоваться для присоединения страницы коллекции проектов, просмотрите сведения. Чтобы изменить параметры, нажмите кнопку "Назад". Если все параметры правильны, нажмите кнопку "Проверить".
После успешного завершения всех проверок готовности нажмите кнопку "Присоединить".
На странице "Мониторинг коллекции проектов" прикрепите ход выполнения всех процессов, нажмите кнопку "Далее".
(Необязательно) На странице "Просмотр дополнительных сведений" для этой страницы коллекции проектов выберите или запишите расположение файла журнала, а затем закройте мастер.
Имя коллекции отображается в списке коллекций в консоли администрирования, а его состояние должно отображаться как автономное.
Чтобы убедиться, что обе коллекции подключены с уникальными идентификаторами, в консоли администрирования перейдите в журналы событий и откройте файлы журналов для обеих операций подключения коллекции. Идентификаторы GUID для CollectionProperties не должны соответствовать.
В маловероятном случае, если идентификаторы GUID CollectionProperties совпадают, измените идентификатор на уникальный идентификатор, прежде чем продолжить выполнение команды TFSConfig Collection во второй коллекции с параметром /clone.
2-d. Удаление проектов в разделенных коллекциях
Теперь, когда у вас есть две копии коллекции, присоединенной к Azure DevOps Server, необходимо удалить каждый проект из исходной коллекции или переименованной коллекции, чтобы проект не оставался в обеих коллекциях.
Внимание
Проект не может существовать в нескольких коллекциях. Пока вы не удалите все повторяющиеся проекты между разделенных коллекциями, вы не сможете запустить переименованную коллекцию.
Удаление проектов из коллекций
Откройте консоль администрирования для Azure DevOps.
Выберите коллекции проектов и в списке коллекций выберите исходную коллекцию проектов, остановленную для разделения.
На вкладке "Проекты" в списке проектов выберите проект для удаления из коллекции и нажмите кнопку "Удалить".
Совет
Вы можете выбрать несколько проектов, которые нужно удалить одновременно.
Установите флажок "Удалить данные рабочей области", оставьте флажок "Удалить внешние артефакты" и нажмите кнопку "Удалить".
Если флажок "Удалить внешние артефакты" не очищается и проект настроен на использование управления лабораториями, виртуальные машины и шаблоны, связанные с проектом, будут удалены из System Center диспетчер виртуальных машин. Они больше не будут доступны проекту в переименованной коллекции. (Обратите внимание, что управление лабораторией устарело для TFS 2017 и более поздних версий.)
Завершив удаление проектов, которые не требуется размещать в исходной коллекции проектов, выберите переименованную коллекцию проектов из списка коллекций. Затем на вкладке "Проекты" удалите нежелательные проекты из новой коллекции.
Повторите действия в этом разделе, пока обе коллекции не содержат набор уникальных проектов.
2-e. Запуск коллекций проектов
После удаления проектов перезапустите обе коллекции.
Запуск коллекции проектов
Откройте консоль администрирования для Azure DevOps.
Выберите коллекции проектов и в списке коллекций выберите коллекцию, остановленную для разделения.
На вкладке "Общие " выберите "Начать коллекцию".
Повторите шаг 2 для коллекции, присоединенной с новым именем.
3-a. Настройка пользователей и групп для разбиения коллекций
Эту процедуру можно пропустить, если обе разделенные коллекции останутся в одном домене, и вы хотите разрешить доступ администраторам исходной коллекции к обеим коллекциям.
После разделения коллекции необходимо обновить группы разрешений как для коллекций, так и для пользователей и групп, которые будут администрировать эти коллекции. Дополнительные сведения см. в разделе "Настройка разрешений администратора для коллекций проектов".
3-b. Настройка пользователей и групп для проектов
Эту процедуру можно пропустить, если разделенные коллекции останутся в одном домене, и вы хотите разрешить доступ пользователям проектов в исходной коллекции к обеим коллекциям.
После настройки администраторов для обеих коллекций необходимо настроить доступ для пользователей и групп к проектам в каждой коллекции. В зависимости от развертывания также может потребоваться настроить разрешения для этих пользователей в службах Reporting Services. Дополнительные сведения см. в разделе "Добавление пользователей в проекты или команды".
Вопросы и ответы
Вопрос. Мое развертывание использует отчеты. Есть ли какие-либо дополнительные действия, которые необходимо предпринять при разбинии коллекций?
Ответ. Да, после завершения удаления проектов необходимо разделить отчеты, чтобы обе коллекции имели уникальный набор проектов. Вам также потребуется перестроить хранилище данных.
После удаления проектов переместите отчеты, которые коллекция разделяет в другую папку, а затем удалите их из исходной папки.
Внимание
Папки отчета существуют в обоих расположениях. Перед удалением папок отчета необходимо переместить все отчеты соответствующим образом.
Разделение отчетов на отдельные папки
- В диспетчере отчетов переместите отчеты, поддерживающие разделение коллекции, в соответствующие папки для этой коллекции. Дополнительные сведения см. на странице перемещения элементов.
После разделения отчетов и запуска обеих коллекций перестройте хранилище для Azure DevOps и базу данных для служб Analysis Services. Этот шаг необходимо выполнить, чтобы отчеты и панели мониторинга работали правильно для развертывания после разделения коллекции и что в развертывании не возникают конфликты с другими коллекциями.
Перестроение хранилища данных и базы данных Служб Analysis Services
Откройте консоль администрирования для Azure DevOps.
На панели навигации выберите "Отчеты".
В отчете нажмите кнопку "Начать перестроение".
В диалоговом окне "Перестроение баз данных хранилища и служб Analysis Services" нажмите кнопку "ОК".
Примечание.
Хранилища будут перестроены, и данные будут по-прежнему повторяться после завершения действия "Начать перестроение". В зависимости от размера развертывания и объема данных весь процесс может занять несколько часов.