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


Непрерывное развертывание для Функций Azure

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

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

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

Функции поддерживают эти источники для непрерывного развертывания в приложении:

Обслуживание кода проекта в Azure Repos, одной из служб в Azure DevOps. Поддерживает как Git, так и система управления версиями Team Foundation. Используется с поставщиком сборки Azure Pipelines. Дополнительные сведения см. в статье "Что такое Azure Repos?

Вы также можете подключить приложение-функцию к внешнему репозиторию Git, но для этого требуется ручная синхронизация. Дополнительные сведения о вариантах развертывания см. в разделе "Технологии развертывания" в Функции Azure.

Примечание.

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

Требования

Единицей для развертывания для функций в Azure является приложение-функция. Для успешного непрерывного развертывания структура каталогов проекта должна быть совместима с базовой структурой папок, которая Функции Azure ожидается. При создании проекта кода с помощью Функции Azure Core Tools, Visual Studio Code или Visual Studio шаблоны Функции Azure используются для создания проектов кода с правильной структурой каталогов. Все функции в приложении-функции развертываются одновременно и в одном пакете.

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

Примечание.

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

Выбор поставщика сборки

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

Внимание

Для повышения безопасности рекомендуется использовать поставщик сборок, поддерживающий управляемые удостоверения, включая Azure Pipelines и Gitub Actions. Служба Служба приложений (Kudu) требует включения базовой проверки подлинности и работы с текстовыми учетными данными.

Функции поддерживают следующие поставщики сборок:

Azure Pipelines — это одна из служб в Azure DevOps и поставщик сборки по умолчанию для проектов Azure Repos. Конвейеры также можно использовать для создания проектов из GitHub. В конвейерах есть AzureFunctionApp задача, предназначенная специально для развертывания в Функции Azure. Эта задача обеспечивает контроль над тем, как проект создается, упаковывается и развертывается. Поддерживает управляемые удостоверения.

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

настройка непрерывного развертывания;

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

В портал Azure перейдите на страницу приложения-функции и выберите Центр развертывания в разделе "Развертывание" в области слева.

Снимок экрана: центр развертывания приложений-функций в портал Azure где выбран исходный репозиторий.

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

Развертывания из Azure Repos, использующие Azure Pipelines, определяются на портале Azure DevOps, а не из приложения-функции. Пошаговое руководство по созданию развертывания на основе конвейеров из Azure Repos см. в статье "Непрерывная доставка с помощью Azure Pipelines".

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

Включение непрерывного развертывания во время создания приложения

В настоящее время можно настроить непрерывное развертывание из GitHub с помощью GitHub Actions при создании приложения-функции в портал Azure. Это можно сделать на вкладке "Развертывание" на странице "Создание приложения-функции".

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

Включение базовой проверки подлинности для развертываний

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

Внимание

При использовании базовой проверки подлинности учетные данные отправляются в виде ясного текста. Чтобы защитить эти учетные данные, необходимо получить доступ только к scm конечной точке через зашифрованное подключение (HTTPS) при использовании базовой проверки подлинности. Дополнительные сведения см. в разделе "Безопасное развертывание".

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

  1. На портале Azure перейдите к своему приложению-функции.

  2. В меню слева приложения выберите параметры "Общие>параметры конфигурации".>

  3. Установите для параметра SCM Basic Auth Publishing Credentials ( Вкл.), а затем нажмите кнопку "Сохранить".

Следующие шаги