Непрерывное развертывание для Функций 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 Repos, использующие Azure Pipelines, определяются на портале Azure DevOps, а не из приложения-функции. Пошаговое руководство по созданию развертывания на основе конвейеров из Azure Repos см. в статье "Непрерывная доставка с помощью Azure Pipelines".
После завершения развертывания все коды из указанного источника развертываются в приложении. В этот момент изменения в источнике развертывания активируют развертывание этих изменений в вашем приложении-функции в Azure.
Включение непрерывного развертывания во время создания приложения
В настоящее время можно настроить непрерывное развертывание из GitHub с помощью GitHub Actions при создании приложения-функции в портал Azure. Это можно сделать на вкладке "Развертывание" на странице "Создание приложения-функции".
Если вы хотите использовать другой источник развертывания или поставщик сборки для непрерывной интеграции, сначала создайте приложение-функцию, а затем вернитесь на портал и настройте непрерывную интеграцию в Центре развертывания.
Включение базовой проверки подлинности для развертываний
В некоторых случаях приложение-функция создается с основным доступом проверки подлинности к конечной точке scm
, отключенной. Это блокирует публикацию всеми методами, которые не могут использовать управляемые удостоверения для доступа к конечной точке scm
. Последствия публикации при отключении конечной scm
точки подробно описаны в развертывании без базовой проверки подлинности.
Внимание
При использовании базовой проверки подлинности учетные данные отправляются в виде ясного текста. Чтобы защитить эти учетные данные, необходимо получить доступ только к scm
конечной точке через зашифрованное подключение (HTTPS) при использовании базовой проверки подлинности. Дополнительные сведения см. в разделе "Безопасное развертывание".
Чтобы включить базовую проверку подлинности в конечной точке scm
, выполните следующие действия.
На портале Azure перейдите к своему приложению-функции.
В меню слева приложения выберите параметры "Общие>параметры конфигурации".>
Установите для параметра SCM Basic Auth Publishing Credentials ( Вкл.), а затем нажмите кнопку "Сохранить".