Настройка разрешений для развертывания командной сборки

Джейсон Ли

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

Этот раздел является частью серии учебников, основанных на требованиях к развертыванию на предприятии вымышленной компании Fabrikam, Inc. В этой серии учебников используется пример решения диспетчера контактов для представления веб-приложения с реалистичным уровнем сложности, включая приложение ASP.NET MVC 3, службу Windows Communication Foundation (WCF) и проект базы данных.

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

Обзор задачи

При установке службы сборки Team Foundation Server (TFS) 2010 необходимо указать удостоверение, с которым будет выполняться служба. По умолчанию это учетная запись сетевой службы. Кроме того, можно настроить службу сборки для запуска с помощью учетной записи домена.

Все задачи развертывания, требующие проверка подлинности Windows и которые планируется автоматизировать с помощью Team Build, будут выполняться с использованием удостоверения службы сборки. Таким образом, необходимо предоставить удостоверению службы сборки все необходимые разрешения на веб-серверах и серверах баз данных.

Примечание

Учетная запись сетевой службы использует учетную запись компьютера для проверки подлинности на других компьютерах. Учетные записи компьютеров принимают форму [доменное имя][имя компьютера]$, например FABRIKAM\TFSBUILD$. Таким образом, если служба сборки выполняется с использованием удостоверения сетевой службы, необходимо предоставить необходимые разрешения для удостоверения учетной записи компьютера для сервера сборки.

Настройка разрешений веб-сервера

Как описано в разделе Выбор правильного подхода к веб-развертыванию, существует два main подходов, которые можно использовать для развертывания веб-пакетов на удаленном веб-сервере:

  • Разверните приложение из удаленного расположения, нацелив веб-службу Deployment Agent (также называемую удаленным агентом) на целевом сервере.
  • Разверните приложение из удаленного расположения, нацелив обработчик веб-развертыванияслужб IIS на целевом сервере.

В этом случае удаленный агент имеет два основных ограничения:

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

Вместе эти два ограничения делают подход удаленного агента нежелательным для автоматизированного развертывания Team Build. Чтобы использовать этот подход, необходимо сделать учетную запись службы сборки администратором на всех целевых веб-серверах.

В отличие от этого, подход веб-обработчика развертывания предлагает различные преимущества:

  • Обработчик веб-развертывания поддерживает обычную проверку подлинности по протоколу HTTPS, что позволяет передавать учетные данные альтернативной учетной записи в средство веб-развертывания IIS (веб-развертывание).
  • Вы можете настроить целевые веб-серверы, чтобы разрешить пользователям без прав администратора развертывать содержимое на определенных веб-сайтах IIS с помощью обработчика веб-развертывания.

В результате явно предпочтительнее использовать обработчик веб-развертывания при автоматизации развертывания веб-пакетов из Team Build. Это рекомендуемый процесс:

  1. Создайте учетную запись домена с низким уровнем привилегий для развертывания.
  2. Настройте обработчик веб-развертывания и предоставьте учетной записи необходимые разрешения для развертывания содержимого на определенном веб-сайте IIS, как описано в разделе Настройка веб-сервера для публикации веб-развертывания (обработчик веб-развертывания).
  3. Вызовите веб-развертывание и нацелите на обработчик веб-развертывания, используя обычную проверку подлинности и указав учетные данные созданной учетной записи домена для выполнения развертывания.

В примере решения Диспетчера контактов вы указываете тип проверки подлинности (обычная или NTLM), учетные данные веб-развертывания и адрес конечной точки (удаленный агент или обработчик веб-развертывания) в файле проекта для конкретной среды. Эти значения используются для формулировки и выполнения команды веб-развертывания при выполнении файла проекта. Дополнительные сведения см. в разделе Развертывание веб-пакетов.

Дополнительные сведения о настройке обработчика веб-развертывания, в том числе о настройке разрешений, см. в разделе Настройка веб-сервера для публикации веб-развертывания (обработчик веб-развертывания). Дополнительные сведения о настройке удаленного агента см. в разделе Настройка веб-сервера для публикации веб-развертывания (удаленный агент).

Настройка разрешений сервера базы данных

Чтобы развернуть базу данных в SQL Server, необходимо:

  • Создайте имя входа для учетной записи развертывания в экземпляре SQL Server.
  • Предоставьте имя входа DBCreator разрешения на экземпляр SQL Server.
  • После первоначального развертывания добавьте имя входа в роль db_owner в целевой базе данных. Это необходимо, так как при последующих развертываниях вы изменяете существующую базу данных, а не создаете новую.

Вы можете пройти проверку подлинности в экземпляре SQL Server с помощью проверки подлинности NTLM или проверки подлинности SQL Server:

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

Пошаговые сведения о настройке разрешений для развертывания базы данных см. в разделе Настройка сервера базы данных для публикации веб-развертывания.

Заключение

На этом этапе необходимо понимать необходимые разрешения, а также доступные параметры проверки подлинности при автоматизации развертывания веб-приложений и баз данных из Team Build. Вы также должны иметь возможность реализовать необходимые разрешения на веб-серверах IIS и SQL Server серверах баз данных.

Дополнительные материалы

Дополнительные сведения о настройке сред Windows Server для поддержки удаленного развертывания см. в разделе Настройка серверных сред для веб-развертывания.