AzureFunctionAppContainer@1 — задача "Функции Azure для контейнера версии 1"
Обновите приложение-функцию с помощью контейнера 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.
Входные данные
azureSubscription
-
подписке Azure
string
. Обязательное.
Выбирает подписку Azure Resource Manager для развертывания.
appName
-
имя приложения
string
. Обязательное.
Имя приложения-функции для контейнеров.
deployToSlotOrASE
-
развертывание в слоте или среде службы приложений
boolean
. Значение по умолчанию: false
.
Задайте для этого входных данных true
для развертывания в существующем слоте развертывания или среде службы приложений Azure. Задача должна иметь имя группы ресурсов для обоих целевых объектов. Для параметра слота развертывания по умолчанию развертывается в рабочем слоте или можно указать любое другое существующее имя слота. Если целевой объект развертывания является средой службы приложений Azure, оставьте имя слота как рабочей и укажите имя группы ресурсов.
группы ресурсов resourceGroupName
-
string
. Требуется, если deployToSlotOrASE = true
.
Имя группы ресурсов, содержащей приложение-функцию для контейнеров.
слота
string
. Требуется, если deployToSlotOrASE = true
. Значение по умолчанию: production
.
Введите или выбирает существующий слот, за исключением рабочего слота.
имени образа imageName
-
string
. Обязательное.
Глобально уникальное доменное имя верхнего уровня для конкретного реестра или пространства имен.
Примечание. Полное имя изображения будет иметь формат: <registry or namespace> <repository> <tag>
. Например, myregistry.azurecr.io/nginx:latest
.
команда запуска containerCommand
-
string
.
Команда запуска, которая выполняется после развертывания. Например, dotnet run
dotnet filename.dll.
параметров приложения
string
.
Введите параметры приложения с помощью синтаксиса -key value
(например, -Port 5000
-RequestTimeout 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
в конвейере сборки или выпуска, чтобы устранить ошибку.
Выпуск зависает в течение длительного времени, а затем завершается сбоем
Эта проблема может быть результатом нехватки емкости в плане службы приложений. Чтобы устранить эту проблему, можно увеличить масштаб экземпляра службы приложений, чтобы увеличить доступное количество ЦП, ОЗУ и дискового пространства или попробовать использовать другой план службы приложений.
Коды ошибок 5xx
Если вы видите ошибку 5
Функция Azure внезапно перестала работать
Функции Azure могут внезапно перестать работать, если с момента последнего развертывания прошло более одного года. При развертывании с помощью RunFromPackage в deploymentMethod создается SAS с датой окончания срока действия 1 года и задает значение "WEBSITE_RUN_FROM_PACKAGE" в конфигурации приложения. Функции Azure используют этот SAS для ссылки на файл пакета для выполнения функции, поэтому если истек срок действия SAS, функция не будет выполнена. Чтобы устранить эту проблему, разверните еще раз, чтобы создать SAS с датой окончания срока действия в течение одного года.
Как настроить подключение службы?
Для этой задачи требуется подключение службы Azure Resource Manager.
Как настроить развертывание веб-заданий с помощью 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 |
требования | Нет |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любое |
переменные settable | Любое |
Версия агента | 2.104.1 или более поздней версии |
Категория задач | Внедрять |