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


AzureFunctionApp@1 — задача Функции Azure версии 1

Обновление приложения-функции с помощью .NET, Python, JavaScript, PowerShell, веб-приложений на основе Java.

Развертывание функции Azure для Linux или Windows.

Синтаксис

# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions 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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|6.0' | 'DOTNET-ISOLATED|6.0' | 'DOTNET-ISOLATED|7.0' | 'DOTNET-ISOLATED|8.0' | 'JAVA|8' | 'JAVA|11' | 'JAVA|17' | 'JAVA|21' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'NODE|20' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10' | 'PYTHON|3.11'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions 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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'DOTNET|6.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions 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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Deploy an Azure Function for Linux or Windows.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    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.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.

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

azureSubscription - Подключение Resource Manager Azure
string. Обязательный.

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


appType - Тип приложения
string. Обязательный. Допустимые значения: functionApp (приложение-функция в Windows), functionAppLinux (приложение-функция в Linux).


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

Вводит или выбирает имя существующего приложения Функции Azure. Список приложений-функций будет основан на выбранном типе приложения.


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

Вводит или выбирает имя существующего приложения Функции Azure. Список приложений-функций будет основан на выбранном типе приложения.


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

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

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

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


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

Имя группы ресурсов необходимо, если целевой объект развертывания является слотом развертывания или Среда службы приложений.

Вводит или выбирает группу ресурсов Azure, содержащую указанные выше Служба приложений Azure.


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

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


package - Пакет или папка
string. Обязательный. Значение по умолчанию: $(System.DefaultWorkingDirectory)/**/*.zip.

Путь к пакету или папке, содержащей Служба приложений содержимого, созданного MSBuild, сжатым ZIP-файлом или war-файлом. Поддерживаются переменные (выпусксборки | ) и подстановочные знаки. Например, $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


runtimeStack - Стек среды выполнения
string. Необязательный элемент. Используйте при appType = functionAppLinux. Допустимые значения: DOTNET|6.0, DOTNET-ISOLATED|6.0, DOTNET-ISOLATED|7.0, DOTNET-ISOLATED|8.0, JAVA|11JAVA|8, JAVA|17, JAVA|21NODE|14, NODE|16, NODE|18, NODE|20, PYTHON|3.8, PYTHON|3.9, , PYTHON|3.10, . PYTHON|3.11

Укажите платформу и версию приложения-функции. Можно использовать любую из поддерживаемых версий среды выполнения. Старые значения, такие как DOCKER|microsoft/azure-functions-* , являются устаревшими. Новые значения перечислены в раскрывающемся списке в помощник задачи. Если в поддерживаемых версиях среды выполнения доступна более новая версия платформы, ее можно указать, даже если она отсутствует в списке.


runtimeStack - Стек среды выполнения
string. Необязательный элемент. Используйте при appType = functionAppLinux. Допустимые значения: DOTNET|2.2 (DOTNET|2.2 (functionapp версии 2)), DOTNET|3.1 (DOTNET|3.1 (functionapp версии 3)), DOTNET|6.0 (DOTNET|6.0 (functionapp v4)), JAVA|8 (JAVA|8 (functionapp v2/v3/v4)), JAVA|11 (JAVA|11 (functionapp версии 3/v4)), NODE|8 (NODE|8 (functionapp версии 2)), NODE|10 (NODE|10 (functionapp версии 2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3/v4)), NODE|16 (NODE|16 (functionapp v4)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3/v4)), PYTHON|3.8 (PYTHON|3.8 (functionapp v3/v4)), PYTHON|3.9 (PYTHON|3.9 (functionapp v3/v4)).

Укажите платформу и версию приложения-функции. Можно использовать любую из поддерживаемых версий среды выполнения. Старые значения, такие как DOCKER|microsoft/azure-functions-* , являются устаревшими. Новые значения перечислены в раскрывающемся списке в помощник задачи. Если в поддерживаемых версиях среды выполнения доступна более новая версия платформы, ее можно указать, даже если она отсутствует в списке.


runtimeStack - Стек среды выполнения
string. Необязательный элемент. Используйте при appType = functionAppLinux. Допустимые значения: DOTNET|2.2 (DOTNET|2.2 (functionapp v2)), DOTNET|3.1 (DOTNET|3.1 (functionapp версии 3)), JAVA|8 (JAVA|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), (NODE|10 (functionapp v3)), NODE|10 (NODE|10 (functionapp v2) 2/v3)), NODE|12 (NODE|12 (functionapp v3)), NODE|14 (NODE|14 (functionapp v3)), PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)), PYTHON|3.7 (PYTHON|3.7 (functionapp версии 2/v3)), PYTHON|3.8 (PYTHON|3.8 (functionapp версии 3)).

Укажите платформу и версию приложения-функции. Можно использовать любую из поддерживаемых версий среды выполнения. Старые значения, такие как DOCKER|microsoft/azure-functions-* , являются устаревшими. Новые значения перечислены в раскрывающемся списке в помощник задачи. Если в поддерживаемых версиях среды выполнения доступна более новая версия платформы, ее можно указать, даже если она отсутствует в списке.


runtimeStack - Стек среды выполнения
string. Необязательный элемент. Используйте при appType = functionAppLinux. Допустимые значения: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET), DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript).

Укажите платформу и версию приложения-функции. Можно использовать любую из поддерживаемых версий среды выполнения. Старые значения, такие как DOCKER|microsoft/azure-functions-* , являются устаревшими. Новые значения перечислены в раскрывающемся списке в помощник задачи. Если в поддерживаемых версиях среды выполнения доступна более новая версия платформы, ее можно указать, даже если она отсутствует в списке.


startUpCommand - Команда запуска
string. Необязательный элемент. Используйте при appType = functionAppLinux.

Вводит команду запуска. Пример:

dotnet run
dotnet filename.dll


customWebConfig - Создание параметров web.config для приложений Python, Node.js, Go и Java
string. Необязательный элемент. Используйте при appType != functionAppLinux && package NotEndsWith .war.

Стандартный Web.config будет создан и развернут в Служба приложений Azure, если у приложения его нет. Значения в web.config зависят от платформы приложений и могут быть изменены. Например, для приложения node.js web.config будет иметь файл запуска и iis_node значения модуля. Эта функция редактирования доступна только для созданных web.config.


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). Заключайте значения, содержащие пробелы, в двойные кавычки.


deploymentMethod - Метод развертывания
string. Требуется, если appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Допустимые значения: auto (автоматическое обнаружение), zipDeploy (Zip Deploy), runFromPackage (Zip Deploy with Run From Package). Значение по умолчанию: auto.

Выбирает метод развертывания для приложения.


deploymentMethod - Метод развертывания
string. Требуется при .appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar Допустимые значения: auto (автоматическое обнаружение), zipDeploy (развертывание zip), runFromPackage (запуск из пакета). Значение по умолчанию: auto.

Выбирает метод развертывания для приложения.


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

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

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

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

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

Комментарии

Используйте задачу Приложение-функция Azure для развертывания функций в Azure.

Методы развертывания

В этой задаче доступно несколько методов развертывания. Значение по умолчанию — auto.

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

В зависимости от типа Служба приложений Azure и агента Azure Pipelines задача использует подходящую технологию развертывания. Ниже перечислены технологии развертывания, используемые задачами.

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

  • Если предоставляется скрипт после развертывания, используйте Zip Deploy.
  • Если тип Служба приложений — Веб-приложение в Linux, используйте Zip Deploy.
  • Если указан WAR-файл, используйте War Deploy.
  • Если указан .jar файл, используйте команду Run-From-Zip.
  • Для всех остальных задач используйте команду Выполнить из пакета (с помощью zip-развертывания).

В агенте, отличном от Windows (для любого типа Служба приложений), задача использует REST API Kudu для развертывания веб-приложения.

REST API Kudu

REST API Kudu работает с агентами автоматизации Windows и Linux, когда целевым объектом является веб-приложение в Windows, веб-приложение в Linux (встроенный источник) или приложение-функция. Задача использует Kudu для копирования файлов в Служба приложений Azure.

Развертывание из ZIP-файла

Zip Deploy создает пакет развертывания .zip из выбранного пакета или папки. Затем содержимое файла развертывается в папке wwwroot приложения-функции имени Служба приложений в Azure. Этот параметр перезаписывает все существующее содержимое в папке wwwroot. Дополнительные сведения см. в статье Развертывание zip для Функции Azure.

Запуск из пакета

Запуск из пакета создает тот же пакет развертывания, что и Zip Deploy. Вместо развертывания файлов в папке wwwroot среда выполнения Функций подключает весь пакет. При использовании этого параметра файлы в папке wwwroot становятся доступными только для чтения. Дополнительные сведения см. в руководстве по запуску Функций Azure из файла пакета.

Устранение неполадок

Ошибка: "Не удалось извлечь маркер доступа для 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 с датой истечения срока действия в один год.

Ошибка: "Пакет с указанным шаблоном не найден"

Проверьте, публикуется ли пакет, упомянутый в задаче, как артефакт в сборке или на предыдущем этапе и скачан ли он в текущем задании.

Ошибка: параметр развертывания публикации с помощью ZIP-файла не поддерживается для типа пакета msBuild

Веб-пакеты, созданные с помощью задачи MSBuild (с аргументами по умолчанию), имеют структуру вложенных папок, которую можно правильно развернуть только с помощью веб-развертывания. Параметр развертывания из публикации в zip нельзя использовать для развертывания этих пакетов. Чтобы преобразовать структуру упаковки, выполните следующие действия.

  1. В задаче Сборка решения измените аргументы MSBuild на /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    Снимок экрана: значения решения

  2. Добавьте задачу Архивация и измените значения следующим образом:

    1. Измените корневую папку или файл на архив на $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Снимите флажок Prepend root folder name to archive paths проверка :

      Снимок экрана: архивные значения.

Развертывание приложения-функции в Windows выполнено успешно, но приложение не работает

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

  1. Выберите задачу и перейдите к разделу Создание параметров web.config для приложений Python, Node.js, Go и Java:

    Снимок экрана: раздел

  2. Нажмите кнопку Дополнительно (...) в разделе Создание параметров web.config для приложений Python, Node.js, Go и Java, чтобы изменить параметры:

    Снимок экрана: параметры создания web.config.

  3. Выберите тип приложения в списке Платформа приложений .

  4. Щелкните ОК. При этом будут заполнены параметры web.config, необходимые для создания файла web.config.

Часто задаваемые вопросы

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

Для выполнения этой задачи требуется подключение к службе 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 через прокси-сервер. Узнайте больше о запуске локального агента за веб-прокси.

Не удается выполнить развертывание во внутренней Среда службы приложений с помощью подключения службы Resource Manager Azure и агента, размещенного в Майкрософт

По умолчанию размещенный в Корпорации Майкрософт агент не будет работать с Среда службы приложений. Вместо этого необходимо настроить частный агент на виртуальной машине, которая находится в той же виртуальной сети, что и Среда службы приложений. Кроме того, настройте частную зону DNS, чтобы обеспечить обмен данными между ресурсами.

Примеры

Ниже приведен пример фрагмента YAML, который развертывает функции Azure в Windows:


variables:
  azureSubscription: Contoso
  # To ignore SSL error, uncomment the below variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionApp@1
  displayName: Azure Function App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplefunctionapp
    appType: functionApp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

Чтобы развернуть функцию в Linux, добавьте appType параметр и присвойте ему значение appType: functionAppLinux. Если значение не указано, functionApp по умолчанию используется значение .

Чтобы явно указать метод развертывания как Zip Deploy, добавьте параметр deploymentMethod: zipDeploy. Другое поддерживаемое значение для этого параметра — runFromPackage. Если значение не указано, auto по умолчанию используется значение .

Пошаговое руководство по созданию конвейера CI/CD см. в разделе Сборка и развертывание Java в Функции Azure.

Требования

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