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

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 — TFS 2013

Примечание

Предложение Azure DevOps Server раньше называлось Visual Studio Team Foundation Server.

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

Важно!

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

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

  • Когда учетная запись пользователя отображается в Azure DevOps Server, ее нельзя удалить или сопоставить с ней другую учетную запись. Например, если вы перемещаете домен a/User a в Домаинб/пользователя b, команда identitys будет работать только для миграции пользователя, если Домаинб/пользователя b еще не существует в Azure DevOps Server.
  • Поскольку члены локальной группы администраторов автоматически добавляются в Azure DevOps Server, перед изменением домена или среды обязательно удалите все учетные записи, которые необходимо перенести из этой группы.

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

Мы рассмотрим шаги по изменению среды развертывания Azure DevOps Server в следующих разделах:

  1. Проверка разрешений и учетных записей
  2. Завершение Azure DevOps Server служб
  3. Резервное копирование данных
  4. Присоединение Azure DevOps Server к новому домену
  5. Настройка продуктов SharePoint для новой среды
  6. Перемещение Azure DevOps Server учетные записи пользователей и служб
  7. Настройка отчетов и Analysis Services
  8. Перезапуск служб Azure DevOps Server Services

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

Чтобы успешно изменить окружение для Azure DevOps Server, необходимо быть администратором на локальном компьютере, а также Azure DevOps Server и все программное обеспечение, от которого зависит ваше развертывание: SQL Server, отчеты, продукты SharePoint (если в развертывании используются отчеты или SharePoint) и любое другое программное обеспечение, с которым взаимодействует развертывание, например Project Server. Однако все члены локальной группы администраторов автоматически включаются в Azure DevOps Server, что может вызвать проблемы при попытке миграции учетных записей. Следовательно, необходимо использовать учетную запись, которую не планируется переносить в рамках перемещения на основе среды. Возможно, имеет смысл добавить отдельную учетную запись с правами администратора специально для перемещения, и использовать эту запись для выполнения переноса.

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

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

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

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

Удаление переносимых учетных записей из локальной группы "Администраторы"

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

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

Совет

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

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

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

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

Останавливает службы

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

  1. На компьютере уровня приложений откройте окно командной строки и измените каталоги на диск: \ % ProgramFiles% \ инструменты TFS 12,0 \ .

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

    Тфссервицеконтрол замораживание

Создание резервных копий баз данных и ключа шифрования служб отчетов SQL Server

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

    На время выполнения задания окно можно закрыть

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

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

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

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

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

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

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

    Примечание

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

Настройка продуктов SharePoint для новой среды

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

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

  1. На каждом сервере, входящем в ферму SharePoint, который поддерживает развертывание Azure DevOps Server, откройте окно командной строки с разрешениями администратора и измените каталоги на% ProgramFiles% \ Common Files \ Microsoft Shared \ Web Server Extensions \ 15 \ bin.

  2. Введите следующую команду, где Key — это ключ шифрования, который вы хотите использовать в развертывании продуктов SharePoint:

    Ключ stsadm.exe-o сетапппассворд-Password

    Примечание

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

  3. Введите следующую команду, где Domain: dnsName — это целевой лес или домен, и его DNS-имя, пользователь, пароль — это имя пользователя и пароль для учетной записи, имеющей доступ к целевому лесу или домену, а webapp — имя веб-приложения, которое поддерживает развертывание Azure DevOps Server.

    stsadm.exe-o SetProperty-PN peoplepicker-сеарчадфорестс-PV домен: dnsName,пользователь,пароль -URL http://webapp

  4. Введите следующую команду, где URL — это URL-адрес семейства веб-сайтов, поддерживающего коллекцию проектов, Port — номер порта, назначенный этому семейству веб-сайтов, а username — имя пользователя учетной записи, которая будет являться владельцем этого семейства веб-сайтов:

    stsadm.exe-o ситеовнер-URL http:// URL -адрес : порт -овнерлогин имя пользователя

  5. Повторите предыдущий шаг для каждого семейства веб-сайтов, используемого развертыванием Azure DevOps Server.

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

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

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

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

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

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

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

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

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

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

  3. Если новый домен содержит одно или несколько удостоверений, в которых имя изменяется между средами, необходимо вручную обновить идентификаторы безопасности для каждого из этих удостоверений. Например, если учетная запись пользователя Кристи церковь была компанией Fabrikam \ кчурч в предыдущей среде, но невфабрикам \ чристиек в новой среде, необходимо вручную обновить свой идентификатор безопасности. Для каждой учетной записи, для которой необходимо это сделать, введите следующую команду:

    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 Server. Дополнительные сведения см. в статьях Добавление пользователей в проекты, Установка разрешений администратора для коллекций проектови Установка разрешений администратора для Azure DevOps Server.

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

Настройка служб отчетов и служб Analysis Services

Если в развертывании не используются отчеты, можно пропустить эту процедуру.

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

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

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

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

    Проверьте правильность информации на всех трех вкладках

  3. Выберите Запуск заданий , чтобы перезапустить отчеты.

  4. Выберите запустить перестроение , чтобы перестроить хранилище.

Настройка резервного копирования.

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

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

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

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

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

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

    Тфссервицеконтрол разморозьте

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

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

Ответ. Да. Это называется перемещением на основе оборудования, и действия выполняются в разделе Перемещение или клонирование с одного оборудования на другое. Не пытайтесь объединить перемещение на основе среды с перемещением на основе оборудования. Сначала выполните перемещение оборудования, а затем измените среду.