Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функции Azure позволяют непрерывно развертывать изменения, внесенные в репозиторий системы управления версиями, в подключенное функциональное приложение. Эта интеграция системы управления версиями позволяет рабочему процессу, в котором обновление кода запускает сборку, упаковку и развертывание проекта в Azure.
Всегда следует настроить непрерывное развертывание для промежуточного слота, а не для рабочего слота. При использовании рабочего слота обновления кода отправляются непосредственно в рабочую среду без проверки в Azure. Вместо этого включите непрерывное развертывание в промежуточный слот, проверьте обновления в нем, и после того как всё будет работать правильно, вы можете перенести код из промежуточного слота в рабочую среду. Если вы подключаетесь к рабочему слоту, убедитесь, что только код производственного качества попадает в интегрированную ветку кода.
В этой статье показано, как настроить непрерывные развертывания кода в функциональном приложении в Azure с помощью Центра развертывания в портале Azure. Вы также можете настроить непрерывную интеграцию с помощью Azure CLI. Эти действия могут быть нацелены на тестовое или рабочее окно.
Функция поддерживает эти источники для непрерывного развертывания в вашем приложении.
Обслуживание кода проекта в Azure Repos, одной из служб в Azure DevOps. Поддерживает как Git, так и система управления версиями Team Foundation. Используется с поставщиком сборки Azure Pipelines. Дополнительные сведения см. в статье "Что такое Azure Repos?".
Вы также можете подключить приложение-функцию к внешнему репозиторию Git, но для этого требуется ручная синхронизация. Дополнительные сведения о вариантах развертывания см. в разделе "Технологии развертывания" в Функции Azure.
Примечание.
Варианты непрерывного развертывания, описанные в этой статье, относятся исключительно к развертыванию кода. Сведения о развертывании контейнерных приложений-функций см. в статье "Включение непрерывного развертывания контейнеров в Azure".
Требования
Единицей для развертывания для функций в Azure является приложение-функция. Для успешного непрерывного развертывания структура каталогов вашего проекта должна удовлетворять базовым требованиям к структуре папок, ожидаемым в Функциях Azure. При создании проекта кода с использованием Azure Functions Core Tools, Visual Studio Code или Visual Studio, шаблоны Azure Functions используются для создания проектов кода с правильной структурой каталогов. Все функции в приложении-функции развертываются одновременно и в одном пакете.
После включения непрерывного развертывания доступ к коду функции в портале Azure настраивается как только для чтения, так как основной источник, как известно, находится в другом месте.
Примечание.
Центр развертывания не поддерживает непрерывное развертывание для приложения-функции с ограничениями на входящий сетевой трафик. Вместо этого необходимо настроить рабочий процесс поставщика сборки непосредственно в GitHub или Azure Pipelines. Эти рабочие процессы также требуют использования виртуальной машины в той же виртуальной сети, что и приложение-функция, либо как локального агента (Azure Pipelines), либо как локального исполнителя (GitHub).
Выбор поставщика сборки
Создание проекта кода является частью процесса развертывания. Конкретный процесс сборки зависит от конкретного языкового стека, операционной системы и плана размещения. Сборки можно выполнять локально или удаленно, в зависимости от конкретного типа хостинга. Дополнительные сведения см. в разделе "Удаленная сборка".
Внимание
Для повышения безопасности рассмотрите возможность использования поставщика сборок, поддерживающего управляемые удостоверения, включая Azure Pipelines и GitHub Actions. Служба приложений (Kudu) требует включить базовую проверку подлинности и работать с текстовыми учетными данными.
Функция поддерживает следующих поставщиков сборок:
Azure Pipelines — это одна из служб в Azure DevOps и поставщик сборки по умолчанию для проектов Azure Repos. Вы также можете использовать Azure Pipelines для создания проектов из GitHub. В Azure Pipelines существует AzureFunctionApp
задача, предназначенная специально для развертывания на Azure Functions. Эта задача обеспечивает контроль над тем, как проект создается, упаковывается и развертывается. Поддерживает управляемые идентичности.
Учитывайте сильные и слабые стороны этих поставщиков при включении интеграции системы управления версиями. Возможно, потребуется изменить тип источника репозитория, чтобы воспользоваться преимуществами конкретного поставщика.
настройка непрерывного развертывания;
Портал Azure предоставляет центр развертывания для приложений-функций, что упрощает настройку непрерывного развертывания. Конкретный способ настройки непрерывного развертывания зависит от типа репозитория системы управления версиями, в котором находится код, и выбранного поставщика сборки.
На портале Azure перейдите на страницу приложения-функции и выберите Центр развертывания в разделе "Развертывание " на левой панели.
Выберите тип исходного репозитория, в котором поддерживается код проекта, из одного из следующих поддерживаемых вариантов:
Развертывания в Azure Repos с использованием Azure Pipelines определяются на портале Azure DevOps, а не в вашем приложении функций. Пошаговое руководство по созданию развертывания на основе Azure Pipelines из Azure Repos см. в статье "Непрерывная доставка с помощью Azure Pipelines".
После завершения развертывания весь код из указанного источника развертывается в приложении. В этот момент изменения в источнике развертывания активируют развертывание этих изменений в вашем приложении-функции в Azure.
Включение непрерывного развертывания во время создания приложения
В настоящее время можно настроить непрерывное развертывание из GitHub с помощью GitHub Actions при создании приложения-функции в портал Azure. Это можно сделать на вкладке "Развертывание" на странице "Создание приложения-функции".
Если вы хотите использовать другой источник развертывания или поставщик сборки для непрерывной интеграции, сначала создайте приложение-функцию, а затем вернитесь на портал и настройте непрерывную интеграцию в Центре развертывания.
Включение базовой проверки подлинности для развертываний
В некоторых случаях функциональное приложение создается с отключенной основной аутентификацией для доступа к конечной точке scm
. Это предотвращает публикацию всеми методами, которые не могут использовать управляемые идентичности для доступа к конечной точке scm
. Последствия публикации при отключении конечной scm
точки подробно описаны в развертывании без базовой проверки подлинности.
Внимание
При использовании базовой проверки подлинности учетные данные отправляются в виде ясного текста. Чтобы защитить эти учетные данные, необходимо получить доступ только к scm
конечной точке через зашифрованное подключение (HTTPS) при использовании базовой проверки подлинности. Дополнительные сведения см. в разделе "Безопасное развертывание".
Чтобы включить базовую проверку подлинности в конечной точке scm
, выполните следующие действия.
На портале Azure перейдите к приложению-функции.
В меню слева приложения выберите Настройки>Конфигурация>Общие параметры.
Установите SCM Basic Auth Publishing Credentials в положение 'Вкл', а затем нажмите кнопку "Сохранить".