Выполнение обновления в предварительной среде

Azure DevOps Server 2022 г. | Azure DevOps Server 2020 г. | Azure DevOps Server 2019 г.

Нужно ли мне беспокоиться?

Настоятельно рекомендуется выполнять обновление в подготовительной среде, но это не всегда имеет смысл. Если вы обсуждаете, следует ли выполнять предварительную модернизацию, взвесите затраты на это с расходами на то, чтобы не делать этого. В частности, если что-то пойдет не так с обновлением рабочей среды, основной стоимостью будет время простоя, связанное с откатом к старой версии TFS. В зависимости от особенностей обновления это может быть быстрый и простой процесс, или он может занять очень много времени и включать много движущихся частей. Как и при обновлении, сложность отката будет зависеть от размера баз данных, количества задействованных компьютеров и т. д.

Основные сведения

Если вы решили перейти к подготовительному обновлению, общий процесс состоит из следующих:

  1. Создание подготовительной среды, похожей на рабочую среду.
  2. Защита рабочей среды.
  3. Восстановление баз данных из резервных копий.
  4. Выполнение обновления.

Стояние среды

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

Защита рабочей среды

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

Наиболее важным шагом, который можно выполнить, является использование учетной записи службы в подготовительной среде, которая не имеет никаких разрешений для рабочей среды. В идеале он не должен иметь никаких разрешений в TFS, в SQL, в сетевых ресурсах и т. д. Возможные варианты включают сетевую службу (при условии, что учетной записи подготовительного компьютера не требуются разрешения в рабочей среде) или выделенная учетная запись предварительного домена, как показано в примере ниже.

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

Еще один необязательный шаг — добавить записи в файлы узлов предварительных компьютеров, чтобы сопоставить имена рабочих компьютеров с недопустимыми IP-адресами. Если вы не уверены, что такое файл hosts, см. запись в Википедии. Это может предотвратить исходящий обмен данными с рабочими компьютерами с предварительных компьютеров.

Пример перенаправления файлов узлов AT и DT

Восстановление баз данных

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

Обновление

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

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

Настройка новых функций

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

Попробуйте все

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

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