Перемещение Team Foundation Server из одной среды в другую
Наиболее распространенный сценарий перемещения на основе среды — это изменение домена развертывания TFS, вне зависимости от того, будет ли это изменение доменного имени или переход от рабочей группы к домену.
Важно!
В некоторых случаях может потребоваться изменить не только оборудование, но и домен развертывания TFS.Изменение оборудования — это перемещение на основе восстановления, и сочетать эти два типа перемещения не следует ни в коем случае.Сначала выполните перемещение оборудования, а затем измените среду.
Кроме того, изменение идентификаторов в TFS в рамках перемещения на основе среды — это аспект, который чаще всего приводит к конфликтам или проблемам.Команда Identities — мощное средство, которому, однако, свойственны некоторые ограничения.Планируя перемещение, обязательно почитайте о ней.Чтобы перемещение прошло успешно, необходимо понимать следующие требования:
-
если учетная запись пользователя присутствует в TFS, ее нельзя удалить или сопоставить с ней другую учетную запись.Например, при перемещении DomainA/UserA в DomainB/UserB команда Identities сможет перенести пользователя только при условии, что учетной записи DomainB/UserB еще нет в TFS;
-
поскольку члены локальной группы "Администраторы " автоматически добавляются в TFS, обязательно удалите все учетные записи, которые требуется перенести из этой группы, прежде чем изменять домен или среду.
Более подробное описание того, как происходит изменение удостоверений в TFS, а также ограничения, свойственные этой команде, см. здесь.
В следующих подразделах шаг за шагом рассматривается изменение среды развертывания TFS:
Проверка разрешений и учетных записей
Остановка служб TFS
Резервное копирование данных
Присоединение TFS к его новому домену
Настройка продуктов SharePoint для новой среды
Перемещение учетных записей пользователей и служб TFS
Настройка служб отчетов и аналитики
Перезапуск служб TFS
Проверка разрешений и учетных записей
Для успешного изменения среды для TFS необходимы права администратора на локальном компьютере, а также права администратора для TFS и всего программного обеспечения, от которого зависит развертывание: SQL Server, отчетности, продуктов SharePoint (если в развертывании используется отчетность или SharePoint), а также любого другого программного обеспечения, с которым взаимодействует развертывание, например Project Server. Однако все члены локальной группы "Администраторы" автоматически включаются в TFS, что может вызвать проблемы при попытке переноса учетных записей. Следовательно, необходимо использовать учетную запись, которую не планируется переносить в рамках перемещения на основе среды. Возможно, имеет смысл добавить отдельную учетную запись с правами администратора специально для перемещения, и использовать эту запись для выполнения переноса.
Проверка разрешений уровня администратора
Убедитесь, что используемая вами учетная запись является членом следующих групп:
Серверы: администраторы (локальная группа "Администраторы" или эквивалент)
TFS: администраторы Team Foundation и пользователи консоли администрирования
SQL Server: системный администратор
Продукты SharePoint: администраторы ферм (если развертывание TFS интегрируется с продуктами SharePoint)
Если вы не входите в одну или несколько из этих групп, получите необходимые разрешения.
Теперь, когда вы уверены, что используемая учетная запись имеет все необходимые разрешения, можно приступать к проверке учетных записей на предмет конфликтов с именами или группами в среде, перемещение в которую планируется. Как вы уже знаете, учетные записи, которые являются членами локальной группы "Администраторов", переносить нельзя, поэтому в первую очередь необходимо удалить именно их.
Удаление переносимых учетных записей из локальной группы "Администраторы"
- Откройте локальную группу "Администраторы " и удалите все учетные записи, которые требуется перенести в новую среду. Повторите этот шаг для всех остальных групп, с которыми может сложиться аналогичная ситуация.
Теперь проверьте список идентификаторов в текущей среде TFS на предмет потенциальных проблем с группами или учетными записями отдельных пользователей, которые могут существовать в новой среде.
Совет
Рекомендуется создать таблицу или карту переноса удостоверений для переноса в рамках перемещения на основе среды, с указанием того, какие из учетных записей, возможно, не удастся перенести автоматически.
Проверка удостоверений
На сервере уровня приложений для Team Foundation откройте окно командной строки с правами администратора, перейдите в каталог %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools и выполните следующую команду для просмотра удостоверений, в настоящее время существующих в системе:
TFSConfig Identities
Отобразится список удостоверений. Проверьте этих пользователей и группы, чтобы убедиться в отсутствии потенциальных дубликатов или проблем с удостоверениями в среде, в которую планируется переместить TFS, и примите меры для устранения всех потенциальных конфликтов.
Остановка служб TFS
Службы необходимо остановить, чтобы пользователи не могли вносить изменения в рабочие элементы или возвращать исходный код в развертывание во время или после процесса перемещения.
На компьютере уровня приложений TFS откройте окно командной строки и перейдите в каталог Drive\%programfiles%\Microsoft Team Foundation Server 12.0\Tools.
Введите следующую команду TFSServiceControl:
TFSServiceControl quiesce
Создание резервных копий баз данных и ключа шифрования служб отчетов SQL Server
Откройте консоль администрирования TFS и на странице Плановые резервные копии создайте полную резервную копию. В резервную копию будет включено все, что настроено для резервного копирования в плане копирования, однако сделано это будет немедленно, а не в соответствии с графиком из плана. Если в развертывании используется отчетность, можно создать резервную копию ключа шифрования в рамках этого набора резервных копий.
(Если резервные копии не настроены, перед созданием полной резервной копии необходимо будет создать план.)
После создания резервной копии убедитесь, что резервная копия доступна на устройстве хранения или в общей сетевой папке и что есть доступ к этой резервной копии с нового оборудования.
Присоединение TFS к его новому домену
На каждом сервере откройте свойства компьютера.
Измените параметры для компьютера на домен или рабочую группу, к которым требуется присоединить сервер.
При появлении запроса на ввод имени пользователя и пароля для учетной записи с разрешениями на присоединение этого компьютера к домену укажите соответствующие учетные данные.
Перезапустите компьютер, чтобы изменение домена вступило в силу.
Примечание
После перезапуска компьютера может появиться предупреждение о том, что не удалось запустить службы или драйверы.Перейдите к следующей процедуре.
Настройка продуктов SharePoint для новой среды
Если в новой среде отсутствует доверие к предыдущей среде, может потребоваться настроить Продукты SharePoint, чтобы добиться корректной работы. Сведения о пользователях, импортированные из служб каталогов, доступны на сайтах SharePoint в веб-элементе управления "Выбор людей". Администраторы сайта и другие пользователи используют этот веб-элемент управления для выбора пользователей и групп, когда присваивают им разрешения. Если информация о пользователях находится в нескольких лесах или в лесу, где отсутствует отношение доверия для всех пользователей, могут потребоваться дополнительные действия, чтобы обеспечить доступность всех пользователей и групп в этом элементе управления.
Эту процедуру следует пропустить, если в развертывании не используется Продукты SharePoint, если в новой среде имеется двустороннее отношение доверия к старой среде или если в консоли администрирования Team Foundation не отображаются ошибки веб-приложения SharePoint.
На каждом сервере, который входит в состав фермы SharePoint, поддерживающей развертывание Team Foundation Server, откройте окно командной строки с правами администратора и перейдите в каталог %programfiles%\Common Files\Microsoft Shared\Web Server Extensions\15\BIN.
Введите следующую команду, где Key — это ключ шифрования, который требуется использовать в развертывании Продукты SharePoint:
stsadm.exe -o setapppassword -password Key
Примечание
Этот ключ представляет собой строку шифрования, применяемую для шифрования пароля учетной записи, которая используется для доступа к лесу или домену.Строка шифрования должна быть одинаковой на каждом сервере в пределах фермы, однако для каждой фермы должна использоваться уникальная строка.
Введите следующую команду, где domain:DNSName — это целевой лес или домен и его DNS-имя, user,password — имя пользователя и пароль для учетной записи, имеющей доступ к целевому лесу или домену, а WebApp — имя веб-приложения, поддерживающего развертывание Team Foundation Server:
stsadm.exe -o setproperty -pn peoplepicker-searchadforests -pv domain:DnsName**,user,**password **-url http://**WebApp
Введите следующую команду, где URL — это URL-адрес семейства веб-сайтов, поддерживающего коллекцию командных проектов, Port — номер порта, присвоенный этому семейству, а UserName — имя пользователя учетной записи, играющей роль владельца этого семейства:
**stsadm.exe -o siteowner -url http://URL:**Port -ownerlogin UserName
Повторите это действие для каждого семейства веб-сайтов, используемого развертыванием Team Foundation Server.
Перемещение учетных записей пользователей и служб TFS
Как было в начале этого раздела, перемещение учетных записи — это тот этап, на котором с наибольшей вероятностью возникнут трудности, в особенности если перенос пользователей не был тщательно спланирован. Команда Identities в TFSConfig не может перенести учетную запись в учетную запись, которая уже существует в TFS.
Если имена учетных записей одинаковы в обоих доменах, и единственное отличие состоит в имени домена, можно использовать пакетный режим команды Identities в TFSConfig, чтобы изменить сразу все удостоверения. В противном случае необходимо изменить удостоверения по отдельности с указанием другого целевого имени учетной записи, как описано ниже.
На сервере уровня приложений для 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.
Чтобы перенести все учетные записи, имеющие такое же имя в новой среде, введите следующую команду:
TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName
При этом учетные записи будут обработаны пакетным образом.
Если новый домен содержит одно или несколько удостоверений, где имя меняется от среды к среде, потребуется вручную обновить идентификаторы SID для каждого из этих удостоверений. Например, если учетная запись пользователя Christie Church в старой среде была Fabrikam\CChurch, а в новой среде будет NewFabrikam\ChristieC, ее идентификатор SID необходимо обновить вручную. Для каждой учетной записи, для которой необходимо это сделать, введите следующую команду:
TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
Теперь выполните следующую команду, чтобы обновить учетную запись службы:
TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
Если в развертывании используется отчетность, выполните следующую команду для обновления учетной записи источника данных, используемой для отчетов:
TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
Если в развертывании используется прокси-сервер Team Foundation Server, выполните следующую команду для обновления учетной записи службы, используемой для прокси-сервера:
TFSConfig Accounts /change /AccountType:Proxy /account:AccountName /password:Password
Примечание
При перемещении в недоверенный домен также может потребоваться вручную добавить пользователей и группы в команды, проекты, коллекции и собственно Team Foundation Server.Дополнительные сведения см. в разделах Добавление пользователей в командные проекты, Задание разрешений администратора для коллекций командных проектов и Задание разрешений администратора для Team Foundation Server.
Если среда развертывания интегрирована с Project Server, может потребоваться выполнить дополнительные действия, чтобы настроить необходимые для работы разрешения для учетных записей служб. Дополнительные сведения см. в разделах Назначение разрешений для поддержки интеграции TFS и Project Server и Настройка интеграции TFS и Project Server.
Настройка служб отчетов и аналитики
Если в развертывании не используются отчеты, можно пропустить эту процедуру.
Если в ходе перемещения сервер отчетов был переименован, необходимо перенаправить Team Foundation Server к новому расположению сервера отчетов. Также необходимо перезапустить хранилище и вручную перестроить базу данных для служб аналитики.
Откройте консоль администрирования Team Foundation, перейдите к узлу "Отчеты" и измените параметры.
Измените значения на всех трех вкладках так, чтобы они включали новое имя сервера. Убедитесь, что для учетной записи источников данных в новой среде введена правильная информация.
Выберите пункт Запуск заданий, чтобы перезапустить отчеты.
Выберите пункт Запуск перестроения для перестроения хранилища.
Настройка резервных копий
Если при изменении имени домена изменилось имя сетевой папки или запоминающего устройства, потребуется обновить план резервного копирования так, чтобы он указывал на эти переименованные ресурсы.
- В консоли администрирования перейдите к узлу "Плановые резервные копии" и перенастройте их для создания резервных копий баз данных TFS на новом сервере. Дополнительные сведения см. в разделе Настройка расписания и плана резервного копирования.
Перезапуск служб TFS
Теперь, когда в TFS присутствует вся информация для новой среды, необходимо перезапустить службы.
На компьютере уровня приложений TFS откройте окно командной строки с правами администратора и перейдите в каталог Drive:\%programfiles%\Microsoft Team Foundation Server 12.0\Tools.
Введите следующую команду TFSServiceControl:
TFSServiceControl unquiesce
Вопросы & ответы
В. Мне нужно изменить физический сервер или серверы для развертывания, а не домены.Можно ли это сделать?
О. Да. Это называется перемещением на основе оборудования; пошаговые инструкции можно найти здесь. Не пытайтесь объединить перемещение на основе среды с перемещением на основе оборудования. Сначала выполните перемещение оборудования, а затем измените среду.
Вопрос. У меня есть развертывание, интегрированное с Project Server.Нужно ли предпринимать какие-либо дополнительные действия, чтобы оно работало с перенесенным TFS?
О. Да, после перемещения в другую среду необходимо с помощью команды TFSAdmin ProjectServer /RegisterPWA с параметрами /tfs, /force и /pwa заново зарегистрировать TFS в Project Server. Дополнительные сведения об интеграции TFS с Project Server см. здесь.