Публикация облачной службы с помощью Visual Studio

Примечание.

Эта статья относится к Azure Облачные службы (классической), которая теперь устарела для новых клиентов и будет прекращена 31 августа 2024 года. Существующие службы, созданные с помощью этой технологии, по-прежнему поддерживаются с помощью Azure Облачные службы (расширенная поддержка). Для новой разработки рекомендуется использовать более новый тип службы, предназначенный для конкретной цели, например службу приложение Azure, Функции Azure или приложения контейнеров Azure. Последний список доступных служб см . в каталоге продуктов Azure.

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

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

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

  • Опубликуйте и упакуйте приложение Azure из Visual Studio
  • Обновите веб-роль в рамках цикла разработки и тестирования

Необходимые компоненты

Опубликуйте и упакуйте приложение Azure из Visual Studio.

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

  • Создать пакет службы. Этот пакет и файл конфигурации службы можно использовать для публикации приложения в среде развертывания из портала Azure.

  • Публикация проекта Azure из Visual Studio. Чтобы опубликовать приложение напрямую в Azure, воспользуйтесь мастером публикации. Дополнительную информацию см. в статье Мастер публикации приложений Azure.

Создание пакета службы из Visual Studio

  1. Когда приложение готово к публикации, откройте обозреватель решений, затем контекстное меню проекта Azure, который содержит роли, и выберите пункт "Опубликовать".

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

    1. Откройте контекстное меню проекта Azure и выберите пункт Пакет.

    2. В диалоговом окне Пакет приложения Azure выберите конфигурацию службы, для которой требуется создать пакет, а затем конфигурацию построения.

    3. (Необязательно.) Чтобы включить удаленный рабочий стол для облачной службы после ее публикации, выберите Enable Remote Desktop for all Roles (Включить удаленный рабочий стол для всех ролей) и нажмите кнопку Параметры, чтобы настроить удаленный рабочий стол. Дополнительные сведения см. в статье Enable Remote Desktop Connection for a Role in Azure Cloud Services using Visual Studio (Включение подключения к удаленному рабочему столу для роли в облачных службах Azure с помощью Visual Studio).

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

    4. Для создания пакета щелкните Пакет .

      Проводник показывает расположение файла только что созданного пакета. Скопируйте это расположение на портале Azure, чтобы его можно было использовать.

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

  3. (Необязательно) Чтобы отменить процесс развертывания, в контекстном меню строки в журнале действий выберите пункт Отменить и удалить. Эта команда позволит остановить процесс развертывания и удалить среду развертывания из Azure. Чтобы удалить среду после развертывания, воспользуйтесь порталом Azure.

Обновите веб-роль в рамках цикла разработки и тестирования

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

Требования к использованию веб-развертывания

  • Только для разработки и тестирования. Изменения вносятся непосредственно в виртуальную машину, в которой выполняется веб-роль. Если эта виртуальная машина должна быть переработана, изменения теряются, так как исходный пакет, опубликованный вами, используется для повторного создания виртуальной машины для роли. Чтобы последние обновления отразились в веб-роли, опубликуйте приложение повторно.

  • Можно обновить только веб-роли: не удается обновить рабочие роли. Кроме того, вы не можете обновить его RoleEntryPointweb role.cs.

  • Может поддерживать только один экземпляр веб-роли: в среде развертывания невозможно использовать несколько экземпляров любой веб-роли. При этом несколько веб-ролей с одним экземпляром поддерживаются.

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

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

Включение веб-развертывания при публикации приложения

  1. Чтобы включить параметр Enable Web Deploy for all web roles (Разрешить веб-развертывание для всех веб-ролей), необходимо сначала настроить подключения удаленного рабочего стола. Выберите для всех ролей Включить удаленный рабочий стол и предоставьте учетные данные, используемые для удаленного подключения, в появившемся поле Конфигурация удаленного рабочего стола. Ознакомьтесь со статьей Enable Remote Desktop Connection for a Role in Azure Cloud Services using Visual Studio (Включение подключения к удаленному рабочему столу для роли в облачных службах Azure с помощью Visual Studio).

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

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

  3. Нажмите кнопку Далее, чтобы отобразить экран Сводка, а затем нажмите кнопку Опубликовать, чтобы развернуть облачную службу.

    Облачная служба будет опубликована. Удаленные подключения создаваемой виртуальной машины включены для IIS таким образом, чтобы можно было использовать веб-развертывание для обновления веб-ролей без повторной публикации.

    Примечание.

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

Обновление веб-роли с помощью веб-развертывания

  1. Чтобы использовать веб-развертывание, внесите изменения в код проекта для любой из веб-ролей в Visual Studio, которую требуется опубликовать, а затем щелкните узел этого проекта в решении правой кнопкой мыши и выберите пункт Опубликовать. Откроется диалоговое окно Публикация веб-сайта .

  2. (Необязательно) Если вы добавили доверенный SSL-сертификат, используемый для удаленных подключений для IIS, снимите флажок Allow untrusted certificate проверка box. Сведения о том, как добавить сертификат для обеспечения безопасности веб-развертывания, см. ниже в разделе Безопасное веб-развертывание.

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

    1. В поле Имя пользователявведите имя пользователя.

    2. В поле Парольвведите пароль.

    3. (Необязательно) Если вы хотите сохранить пароль в этом профиле, выберите Сохранить пароль.

  4. Чтобы опубликовать изменения в веб-роли, щелкните Опубликовать.

    В строке состояния отображается Публикация начата. После завершения публикации отображается Публикация успешно завершена . Эти изменения были развернуты для веб-роли на вашей виртуальной машине. Теперь можно запустить приложение Azure, чтобы проверить изменения в среде Azure.

Безопасное веб-развертывание

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

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

  2. Чтобы добавить в IIS доверенный сертификат SSL, который будет использоваться для удаленных подключений, выполните указанные ниже действия.

    1. Чтобы подключиться к виртуальной машине, на которой запущена веб-роль, выберите экземпляр веб-роли в Cloud Explorer или обозревателе сервера, а затем выберите команду Подключиться с помощью удаленного рабочего стола. Пошаговые инструкции по подключению к виртуальной машине см. в статье Enable Remote Desktop Connection for a Role in Azure Cloud Services using Visual Studio (Включение подключения к удаленному рабочему столу для роли в облачных службах Azure с помощью Visual Studio). В браузере появится запрос на скачивание .rdp файла.

    2. Чтобы добавить сертификат SSL, откройте службу управления в диспетчере IIS. В диспетчере IIS включите использование SSL, щелкнув ссылку Привязки в области Действие. Откроется диалоговое окно Добавление привязки сайта. Выберите Добавить, а затем из раскрывающегося списка Тип выберите пункт "HTTPS". Из списка SSL-сертификатов выберите SSL-сертификат, подписанный центром сертификации и переданный на портал Azure. Дополнительные сведения см. в разделе Configure Connection Settings for the Management Service (IIS 7) (Настройка параметров подключения для службы управления (IIS 7)).

      Примечание.

      После добавления доверенного SSL-сертификата желтый треугольник предупреждения больше не будет отображаться в мастере публикации.

Включение файлов в пакет службы

Вам может понадобиться включить в пакет службы определенные файлы, чтобы они были доступны на виртуальной машине, созданной для роли. Например, возможно, что в пакет службы нужно будет добавить .exe или .msi файл, который используется скриптом запуска, или сборку, необходимую проекту рабочей или веб-роли. Включаемые файлы должны быть добавлены в решение для приложения Azure.

  1. Чтобы добавить сборку в пакет службы, выполните следующие действия.

    1. В обозревателе решений откройте узел проекта, не содержащий сборку, на которую имеется ссылка.

    2. Чтобы добавить сборку в проект, откройте контекстное меню папки Ссылки и выберите Добавить ссылку. Откроется диалоговое окно Добавить ссылку .

    3. Выберите ссылку, которую вы хотите добавить, а затем нажмите ОК. Ссылка будет добавлена в список в папке Ссылки .

    4. Откройте контекстное меню добавленной сборки и выберите Свойства. Откроется окно Свойства .

      Чтобы включить эту сборку в пакет службы, выберите из списка Копировать локально значение True.

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

  3. Чтобы добавить сборку в проект, откройте контекстное меню папки Ссылки и выберите Добавить ссылку. Откроется диалоговое окно Добавить ссылку .

  4. Выберите ссылку, которую вы хотите добавить, а затем нажмите кнопку ОК .

    Ссылка будет добавлена в список в папке Ссылки .

  5. Откройте контекстное меню добавленной сборки и выберите Свойства. Откроется окно Свойства .

  6. Чтобы включить эту сборку в пакет службы, выберите из списка Копировать локально значение True.

  7. Чтобы включить файлы, добавленные в проект веб-роли, в пакет службы, откройте контекстное меню файла и выберите пункт Свойства. В окне Свойства из списка Действие при сборке выберите Содержимое.

  8. Чтобы включить файлы, добавленные в проект рабочей роли, в пакет службы, откройте контекстное меню файла и выберите пункт Свойства. В окне Свойства из списка Копировать в выходной каталог выберите Копировать, если новее.

Дополнительные сведения о публикации в Azure из Visual Studio см. в статье Мастер публикации приложения Azure.