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


AzureFunctionAppContainer@1 — Функции Azure для задачи контейнера версии 1

Обновление приложения-функции с помощью контейнера Docker.

Обновление приложений-функций с помощью контейнеров Docker.

Синтаксис

# Azure Functions for container v1
# Update a function app with a Docker container.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.
# Azure Function for container v1
# Update Function Apps with Docker containers.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.

Входные данные

azureSubscription - Подписка Azure
string. Обязательный.

Выбирает подписку azure Resource Manager для развертывания.


appName - Имя приложения
string. Обязательный.

Имя приложения-функции для контейнеров.


deployToSlotOrASE - Развертывание в слоте или Среда службы приложений
boolean. Значение по умолчанию: false.

Задайте для этого входного параметра значение true для развертывания в существующем слоте развертывания или Служба приложений Azure среде. Задаче требуется имя группы ресурсов для обоих целевых объектов. Для параметра слота развертывания по умолчанию выполняется развертывание в рабочем слоте или можно указать любое другое имя существующего слота. Если целевым объектом развертывания является среда Служба приложений Azure, оставьте имя слота в качестве рабочей и укажите имя группы ресурсов.


resourceGroupName - Группа ресурсов
string. Требуется, если deployToSlotOrASE = true.

Имя группы ресурсов, содержащей приложение-функцию для контейнеров.


slotName - Слот
string. Требуется, если deployToSlotOrASE = true. Значение по умолчанию: production.

Вводит или выбирает существующий слот, за исключением рабочего слота.


imageName - Имя образа
string. Обязательный.

Глобально уникальное доменное имя верхнего уровня для конкретного реестра или пространства имен.

Примечание: Полное имя образа будет иметь формат : <registry or namespace> <repository> <tag>. Например, myregistry.azurecr.io/nginx:latest.


containerCommand - Команда запуска
string.

Команда запуска, выполняемая после развертывания. Например dotnet rundotnet filename.dll.


appSettings - Параметры приложения
string.

Введите параметры приложения с помощью синтаксиса -key value (например,-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE ). Заключайте значения, содержащие пробелы, в двойные кавычки (например, "Eastern Standard Time").


configurationStrings - Параметры конфигурации
string.

Введите строки конфигурации с помощью синтаксиса -key value (например, -phpVersion 5.6-linuxFxVersion: node|6.11). Заключайте значения, содержащие пробелы, в двойные кавычки.


Параметры управления задачами

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

Выходные переменные

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

AppServiceApplicationUrl
URL-адрес приложения выбранного Служба приложений.

Комментарии

Используйте эту задачу для развертывания функции Azure в Linux с помощью пользовательского образа.

Ошибка: "Не удалось извлечь маркер доступа для Azure". Убедитесь, что используемый субъект-служба является допустимым и не истек ли срок действия.

Задача использует субъект-службу в подключении к службе для проверки подлинности в Azure. Если срок действия субъекта-службы истек или у него нет разрешений на Служба приложений, задача завершается сбоем с этой ошибкой. Убедитесь, что используемый субъект-служба допустимый и что он присутствует в регистрации приложения. Дополнительные сведения см. в статье Использование управления доступом на основе ролей для контроля доступа к ресурсам в подписке Azure. В этой записи блога также содержатся дополнительные сведения об использовании проверки подлинности субъекта-службы.

Ошибка SSL

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

Выпуск зависает на долгое время, а затем завершается ошибкой

Эта проблема может быть связана с нехваткой емкости в плане Служба приложений. Чтобы устранить эту проблему, можно увеличить масштаб экземпляра Служба приложений, чтобы увеличить доступное пространство ЦП, ОЗУ и дискового пространства, или попробовать использовать другой план Служба приложений.

Коды ошибок 5хх

Если вы видите ошибку 5xx, проверка состояние службы Azure.

Функция Azure внезапно перестала работать

Функции Azure может внезапно перестать работать, если прошло более одного года с момента последнего развертывания. При развертывании с параметром RunFromPackage в deploymentMethod создается SAS с датой окончания срока действия 1 год и устанавливается значение WEBSITE_RUN_FROM_PACKAGE в конфигурации приложения. Функции Azure использует этот SAS для ссылки на файл пакета для выполнения функции, поэтому если срок действия SAS истек, функция не будет выполняться. Чтобы устранить эту проблему, разверните еще раз, чтобы создать SAS с датой окончания срока действия в один год.

Как настроить подключение к службе?

Для выполнения этой задачи требуется подключение службы Resource Manager Azure.

Как настроить развертывание веб-заданий с помощью Application Insights?

Если при развертывании в Служба приложений настроена служба Application Insights и включена Remove additional files at destination, необходимо также включить Exclude files from the App_Data folder. При включении этого параметра расширение Application Insights сохраняется в безопасном состоянии. Этот шаг является обязательным, так как непрерывное веб-задание Application Insights устанавливается в папку App_Data.

Как настроить агент, если он находится за прокси-сервером во время развертывания в Служба приложений?

Если локальному агенту требуется веб-прокси, вы можете сообщить агенту о прокси-сервере во время настройки. Это позволит агенту подключаться к Azure Pipelines или Azure DevOps Server через прокси-сервер. Узнайте больше о запуске локального агента за веб-прокси.

Примеры

В этом примере выполняется развертывание Функции Azure в Linux с помощью контейнеров:


variables:
  imageName: contoso.azurecr.io/azurefunctions-containers:$(build.buildId)
  azureSubscription: Contoso
  # To ignore SSL error uncomment the following variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionAppContainer@1
  displayName: Azure Function App on Container deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: functionappcontainers
    imageName: $(imageName)

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.104.1 или более поздней версии
Категория задач Развертывание