Поделиться через


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

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, коллекции командных проектов

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

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

    Убедитесь, что экземпляр SQL Server правильно

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

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

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

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

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

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

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

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

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

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

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

    Остановка сбора, если конфигурация не завершена

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. В отчете нажмите кнопку "Начать перестроение".

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

    Примечание.

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

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

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

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

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

Удаление ресурсов управления лабораторией перед перемещением коллекции

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

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

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

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

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

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

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

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

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

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