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


Перемещение Team Foundation Server из одной среды в другую

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

Важно!

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

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

  • если учетная запись пользователя присутствует в TFS, ее нельзя удалить или сопоставить с ней другую учетную запись.Например, при перемещении DomainA/UserA в DomainB/UserB команда Identities сможет перенести пользователя только при условии, что учетной записи DomainB/UserB еще нет в TFS;

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

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

В следующих подразделах шаг за шагом рассматривается изменение среды развертывания TFS:

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

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

  3. Резервное копирование данных

  4. Присоединение TFS к его новому домену

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

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

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

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

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

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

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

  • Убедитесь, что используемая вами учетная запись является членом следующих групп:

    • Серверы: администраторы (локальная группа "Администраторы" или эквивалент)

    • TFS: администраторы Team Foundation и пользователи консоли администрирования

    • SQL Server: системный администратор

    • Продукты SharePoint: администраторы ферм (если развертывание TFS интегрируется с продуктами SharePoint)

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

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

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

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

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

Совет

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

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

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

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

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

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

  1. На компьютере уровня приложений TFS откройте окно командной строки и перейдите в каталог Drive\%programfiles%\Microsoft Team Foundation Server 12.0\Tools.

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

    TFSServiceControl quiesce

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

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

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

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

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

Присоединение TFS к его новому домену

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

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

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

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

    Примечание

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

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

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

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

  1. На каждом сервере, который входит в состав фермы SharePoint, поддерживающей развертывание Team Foundation Server, откройте окно командной строки с правами администратора и перейдите в каталог %programfiles%\Common Files\Microsoft Shared\Web Server Extensions\15\BIN.

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

    stsadm.exe -o setapppassword -password Key

    Примечание

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

  3. Введите следующую команду, где domain:DNSName — это целевой лес или домен и его DNS-имя, user,password — имя пользователя и пароль для учетной записи, имеющей доступ к целевому лесу или домену, а WebApp — имя веб-приложения, поддерживающего развертывание Team Foundation Server:

    stsadm.exe -o setproperty -pn peoplepicker-searchadforests -pv domain:DnsName**,user,**password **-url http://**WebApp

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

    **stsadm.exe -o siteowner -url http://URL:**Port -ownerlogin UserName

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

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

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

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

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

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

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

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

  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. Если в развертывании используется прокси-сервер Team Foundation Server, выполните следующую команду для обновления учетной записи службы, используемой для прокси-сервера:

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

    Примечание

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

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

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

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

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

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

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

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

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

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

  4. Выберите пункт Запуск перестроения для перестроения хранилища.

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

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

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

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

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

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

    TFSServiceControl unquiesce

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

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

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

Вопрос. У меня есть развертывание, интегрированное с Project Server.Нужно ли предпринимать какие-либо дополнительные действия, чтобы оно работало с перенесенным TFS?

О. Да, после перемещения в другую среду необходимо с помощью команды TFSAdmin ProjectServer /RegisterPWA с параметрами /tfs, /force и /pwa заново зарегистрировать TFS в Project Server. Дополнительные сведения об интеграции TFS с Project Server см. здесь.