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


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

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. Выберите "Коллекции проектов" и выберите "Присоединить коллекцию". Откроется Мастер присоединения коллекции проектов.

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

    Убедитесь, что экземпляр 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. Загрузите каждый отчет, который вы хотите переместить, в соответствующую папку на сервере отчетов, поддерживающем коллекцию в новой среде, в Report Manager.

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

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

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

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

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

  3. В отчете выберите "Начать перестроение".

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

    Примечание.

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

Как переместить коллекцию командных проектов, включающую пулы развертывания и/или группы развертывания?

Ответ. При перемещении коллекции в другое развертывание, для каждого пула развертывания в источнике, который имеет группу развертывания в отсоединенной коллекции, новый пул развертывания автоматически подготавливается в целевом экземпляре. В случае 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 с помощью хранимых виртуальных машин и шаблонов".

Как ограничить доступ к выбранным функциям в проекте?

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