Перемещение коллекции проектов

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

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

  • У вас есть несколько развертываний Azure DevOps Server в организации, и вы хотите переместить коллекцию в другое развертывание, чтобы лучше соответствовать потребностям вашего бизнеса.
  • Вы хотите переместить коллекцию в удаленный офис с собственным развертыванием Azure DevOps Server.
  • Вы хотите расширить развертывание Azure DevOps Server, добавив в него еще один экземпляр SQL Server и распределив существующие коллекции между экземплярами.
  • Необходимо постепенно обновлять развертывание, отсоединив отдельную коллекцию проектов от развертывания Azure DevOps Server под управлением более ранней версии, а затем переместив ее на сервер с текущей версией Azure DevOps Server. (Одной из распространенных причин этого является то, что некоторым командам может потребоваться перейти на более новую версию Azure DevOps Server, в то время как другие должны остаться на более старой версии по соображениям инструментов или проектов.) В этом сценарии также необходимо обновить каждый проект в коллекции с помощью мастера настройки компонентов. Дополнительные сведения см. в разделе Настройка компонентов после обновления Azure DevOps Server. Мастер настройки компонентов не рекомендуется использовать для Azure DevOps Server 2019 г. Мастер можно запустить только в TFS 2018 и более ранних версиях. Проекты, определенные в Azure DevOps Services обновляться автоматически при каждом обновлении службы.

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

Вот как переместить всю коллекцию проектов. Сведения о перемещении части коллекции см. в разделе Разделение коллекции проектов.

Предварительные требования

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

1. Отсоединение коллекции

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

Примечание

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

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

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

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

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

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

  4. Выберите Далее.

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

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

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

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

    Мастер показывает ход выполнения

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

  10. Выберите Закрыть.

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

    Консоль администрирования TFS не показывает отключения

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

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

Снимок экрана: панель

Важно!

Вы можете восстановить базу данных только для той же версии или более поздней версии SQL Server. Невозможно восстановить базу данных SQL Server до более ранней версии продукта
. Если в исходном развертывании использовался выпуск Enterprise или Datacenter SQL Server и вы хотите восстановить базы данных на сервере под управлением выпуска Standard, необходимо использовать резервный набор данных, который был создан с отключенным сжатием SQL Server. Если не отключить сжатие данных, вы не сможете восстановить базы данных выпуска Enterprise или Datacenter на сервере под управлением выпуска Standard. Чтобы отключить сжатие, выполните действия, описанные в разделе Отключение сжатия данных SQL Server в базах данных Azure DevOps.

3. Перемещение базы данных коллекции

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

Снимок экрана: страница приветствия мастера копирования баз данных.

Дополнительные сведения о перемещении базы данных на другой экземпляр SQL Server см. в разделе:

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

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

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

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

    Консоль администрирования Azure DevOps Server коллекции командных проектов

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

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

    Проверьте правильность экземпляра SQL Server

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

  5. На странице Ввод сведений о коллекции проекта укажите имя коллекции в поле Имя , если оно еще отсутствует.

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

  7. Выберите Далее.

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

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

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

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

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

  13. Выберите Закрыть.

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

    Остановка коллекции в случае незаконченной конфигурации

5. Настройка перемещенной коллекции проектов

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

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

Настройка перемещенной коллекции

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

    Сведения об этой задаче см. в разделах Изменение коллекции проектов и Задание разрешений администратора для коллекций проектов.

6. Настройка проектов

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

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

Добавление пользователей в проекты

Добавление ресурсов в перемещенные проекты

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

Вопрос. В развертывании Azure DevOps Server используются отчеты. Как переместить отчеты при перемещении коллекции?

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

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

Перемещение отчетов

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

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

    Дополнительные сведения см. в разделе Отправка файлов в папку.

  3. В диспетчере отчетов отредактируйте каждый отчет, изменив источник данных на новый сервер отчетов.

Перестроение хранилища и куба Analysis Services

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

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

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

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

    Примечание

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

Вопрос. Разделы справки переместить коллекцию командных проектов, включающую пулы развертывания и (или) группы развертывания?

A: При перемещении коллекции в другое развертывание для каждого пула развертывания в источнике, имеющего группу развертывания в отсоединяемой коллекции, новый пул развертывания автоматически подготавливается в целевом экземпляре. В случае Azure DevOps Server 2019 или более поздней версии имя автоматически подготовленного пула развертывания будет таким же, как в исходном экземпляре. В предыдущих версиях имя пула развертывания имеет формат <project name-deployment-group name>. В случае конфликтов к имени пула развертывания добавляется случайный GUID.

После завершения перемещения:

  • Существует вероятность создания нескольких пулов развертывания. Вы можете объединить повторяющиеся пулы с помощью команды TfsConfig. Например TfsConfig.exe deploymentpool /migrateDeploymentGroups /fromPool:<Source Pool Name> /toPool:<Target Pool Name>.
  • Необходимо перенастроить агенты с помощью нового пула развертывания. Ниже приведен пример скрипта перенастройки агента развертывания для справки.

Удаление ресурсов Lab Management перед перемещением коллекции

  • Сведения об удалении всех узлов групп, общих папок библиотек и сред из указанной коллекции проектов см. в разделе Команда TFSConfig Lab /Delete с параметром /External .

Настройка ресурсов Lab Management после перемещения коллекции

  1. Настройте уровень приложений для Azure DevOps.

    Дополнительные сведения см. в статье Настройка управления лабораторией для сред SCVMM.

  2. Повторно создайте золотой master виртуальных машин и шаблонов в новом SCVMM и импортируйте виртуальные машины и шаблоны в коллекцию проектов.

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

  3. Повторно создайте среды для каждого проекта.

    Дополнительные сведения см. в статье Создание среды SCVMM с помощью сохраненных виртуальных машин и шаблонов.

Вопрос. Разделы справки ограничить доступ к выбору функций в проекте?

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