Переход из одной среды в другую для локальной среды Azure DevOps

Azure DevOps Server |Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020

В этой статье объясняется, как переместить развертывание Azure DevOps Server из одной среды в другую, например изменение доменного имени или перемещение из рабочей группы в домен. Изменения в зависимости от среды часто происходят, когда организации реструктурируют ИТ-инфраструктуру, обновляют доменные имена или консолидируют ресурсы.

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

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

Это важно

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

Изменение идентификаторов в Azure DevOps Server в рамках перемещения среды — это аспект, который чаще всего вызывает конфликты или проблемы. Команда удостоверений — это мощный инструмент, но он имеет определенные ограничения. Узнайте об этом в рамках планирования вашего переезда. Чтобы обеспечить успешное перемещение, убедитесь, что вы понимаете следующие требования:

  • После того как учетная запись пользователя присутствует в Azure DevOps Server, ее нельзя удалить или сопоставить с ней другую учетную запись. Например, если вы перемещаете DomainA/UserA в DomainB/UserB, команда Identities будет работать для переноса пользователя только если DomainB/UserB еще не присутствует в Azure DevOps Server.
  • Так как члены локальной группы администраторов автоматически добавляются в Azure DevOps Server, удалите все учетные записи, которые необходимо перенести из этой группы, прежде чем изменять домен или среду.

Дополнительные сведения см. в этой записи блога.

1. Проверка разрешений и учетных записей

Чтобы изменить среду для Azure DevOps Server, войдите в систему в качестве администратора на локальном компьютере, на сервере Azure DevOps, SQL Server, службе отчетности и любом другом зависимом программном обеспечении (например, Project Server). Избегайте использования учетных записей, которые вы планируете перенести— члены локальной группы администраторов автоматически добавляются в Azure DevOps Server, что может вызвать проблемы с миграцией. Используйте выделенную учетную запись администратора для перемещения, чтобы предотвратить конфликты.

Проверка разрешений на уровне администратора

  • Убедитесь, что используемая учетная запись входит в следующие группы:
    • Серверы: Администраторы (локальная группа администраторов или эквивалент)
    • Azure DevOps Server: администраторы Team Foundation и пользователи консоли администрирования
    • SQL Server: системный администратор

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

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

Удалите учетные записи для миграции из локальной группы администраторов

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

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

Подсказка

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

Проверка личностей

  1. На сервере уровня приложений для Azure DevOps откройте окно командной строки с административными разрешениями, перейдите к %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools и выполните следующую команду, чтобы просмотреть текущие удостоверения в системе.

    TFSConfig Identities
    

Отображается список идентичностей.

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

2. Остановка служб

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

  1. Откройте окно командной строки на компьютере уровня приложения и измените каталоги Drive:\\%programfiles%\\TFS 12.0\\Toolsна .

  2. Введите следующую команду TFSServiceControl :

    TFSServiceControl quiesce
    

3. Резервное копирование баз данных и ключа шифрования служб SQL Server Reporting Services

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

    Окно можно закрыть, пока задание завершится.

    Примечание.

    Если вы никогда не настроили резервные копии, создайте план резервного копирования перед созданием полной резервной копии.

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

4. Присоединение сервера уровня приложений к новому домену

  1. На каждом сервере откройте свойства компьютера.

  2. Измените параметры компьютера, чтобы присоединиться к нужному домену или рабочей группе.

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

  3. Перезапустите компьютер, чтобы применить изменение домена.

    Примечание.

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

5. Перемещение учетных записей пользователей и учетных записей служб

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

Если учетные записи с идентичными именами в обоих доменах (при различии только в доменном имени), можно использовать пакетный режим TFSConfig Identities для одновременного обновления всех записей. Если имена учетных записей отличаются между средами, необходимо отдельно обновить каждый идентификатор и указать новое имя целевой учетной записи, как описано ниже.

  1. На сервере уровня приложений для Azure DevOps откройте окно командной строки с правами администратора. Перейдите к%ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools и выполните следующую команду, чтобы обновить идентификатор безопасности учетной записи службы до нового домена:

    TFSConfig identities /change /fromdomain:OldComputerorDomainName /todomain:NewDomainName /account:OldTFSServiceAccount /toaccount:NewTFSServiceAccount
    

    Предупреждение

    Если учетная запись службы была системной учетной записью (например, сетевой службой), ее нельзя перенести напрямую, так как системная учетная запись с тем же именем существует в новой среде. Вам нужно следовать двухэтапному процессу. См. пример в команде Идентификации.

  2. Чтобы перенести все учетные записи с одинаковым именем в новой среде, выполните следующую команду:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName
    

    Этот пакет команд обрабатывает учетные записи.

  3. Если новый домен содержит удостоверения с разными именами между средами, обновите идентификаторы SID вручную для каждого из них. Например, если учетная запись Christie Church была Fabrikam\CChurch в старой среде и стала NewFabrikam\ChristieC в новой, обновите SID следующим образом:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
    
  4. Обновите учетную запись службы, выполнив следующую команду:

    TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
    
  5. Если развертывание использует отчеты, обновите учетную запись источника данных:

    TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
    
  6. Если в развертывании используется прокси-сервер Azure DevOps, обновите учетную запись службы-посредника:

    TFSConfig Accounts /change /AccountType:Proxy /account:AccountName /password:Password
    

    Примечание.

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

  7. Если развертывание интегрируется с Project Server, может потребоваться выполнить другие действия по настройке учетных записей служб с необходимыми разрешениями. Дополнительные сведения см. в статье "Назначение разрешений для поддержки интеграции TFS-Project сервера" и "Настройка интеграции сервера TFS-Project".

6. Настройка служб отчетности и анализа

Пропустите эту процедуру, если ваше развертывание не использует отчеты.

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

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

    Отчеты по-прежнему указывают на старый сервер

  2. Обновите значения на всех трех вкладках, чтобы отразить новое имя сервера. Убедитесь, что вы вводите правильные сведения об учетной записи источника данных для новой среды.

    Убедитесь, что информация правильна на всех 3 вкладках

  3. Нажмите кнопку "Пуск заданий ", чтобы перезапустить отчеты.

  4. Нажмите кнопку "Начать перестроение ", чтобы перестроить хранилище.

7. Настройка резервных копий

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

В консоли администрирования перейдите к узлу запланированных резервных копий и перенастроите запланированные резервные копии для резервного копирования баз данных Azure DevOps Server на новом сервере. Дополнительные сведения см. в разделе "Создание расписания резервного копирования и плана".

8. Перезапуск служб

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

  1. На компьютере уровня приложений Azure DevOps Server откройте окно командной строки с административными разрешениями и измените каталоги на Drive:\%programfiles%\TFS 12.0\Tools.

  2. Введите следующую команду TFSServiceControl :

    TFSServiceControl unquiesce
    

Часто задаваемые вопросы (часто задаваемые вопросы)

Вопрос. Я хочу изменить физический сервер или серверы для развертывания, а не домены. Можно ли это сделать?

A: Да, это действие называется аппаратным перемещением, а шаги предоставляются в разделе "Перемещение" или клонирование из одного оборудования в другое. Не следует пытаться совмещать перемещение, обусловленное средой, с аппаратным перемещением. Сначала завершите перемещение оборудования, а затем измените среду.