AzureFunctionApp@1 – Tarefa do Azure Functions v1
Atualize um aplicativo de funções com aplicativos Web baseados em .NET, Python, JavaScript, PowerShell e Java.
Implantar uma função do Azure para Linux ou Windows.
Sintaxe
# 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.
Entradas
azureSubscription
-
de conexão do Azure Resource Manager
string
. Necessário.
Seleciona a assinatura do Azure Resource Manager para a implantação.
appType
-
tipo de aplicativo
string
. Necessário. Valores permitidos: functionApp
(Aplicativo de Funções no Windows), functionAppLinux
(Aplicativo de Funções no Linux).
appName
-
nome do aplicativo do Azure Functions
string
. Necessário.
Insere ou seleciona o nome de um aplicativo existente do Azure Functions. Os Aplicativos de Funções listados serão baseados no tipo de aplicativo selecionado.
appName
-
nome do aplicativo
string
. Necessário.
Insere ou seleciona o nome de um aplicativo existente do Azure Functions. Os Aplicativos de Funções listados serão baseados no tipo de aplicativo selecionado.
deployToSlotOrASE
-
Implantar no Slot ou no Ambiente do Serviço de Aplicativo
boolean
. Valor padrão: false
.
Implanta em um slot de implantação existente ou no Ambiente do Serviço de Aplicativo do Azure. Para ambos os destinos, a tarefa precisa de um nome de grupo de recursos.
Se o destino da implantação for um slot, ele usará o slot de de produção
Se o destino de implantação for um Ambiente do Serviço de Aplicativo do Azure, deixe o nome do slot como de produção e especifique o nome do grupo de recursos.
resourceGroupName
-
grupo de recursos
string
. Necessário quando deployToSlotOrASE = true
.
O nome do grupo de recursos é necessário quando o destino da implantação é um slot de implantação ou um Ambiente do Serviço de Aplicativo.
Insere ou seleciona o grupo de recursos do Azure que contém o Serviço de Aplicativo do Azure especificado acima.
de slot do
string
. Necessário quando deployToSlotOrASE = true
. Valor padrão: production
.
Insere ou seleciona um slot existente, excluindo o slot de produção.
pacote package
- ou de pasta
string
. Necessário. Valor padrão: $(System.DefaultWorkingDirectory)/**/*.zip
.
O caminho do arquivo para o pacote ou pasta que contém o conteúdo do Serviço de Aplicativo gerado pelo MSBuild, um arquivo zip compactado ou um arquivo de guerra. Há suporte para variáveis (build | versão) e caracteres curinga. Por exemplo, $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war
.
runtimeStack
-
de pilha de runtime
string
. Opcional. Use quando appType = functionAppLinux
. Valores permitidos: 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
.
Especifique a estrutura e a versão em que seu aplicativo de funções será executado. Você pode usar qualquer uma das versões de runtime com suporte . Valores antigos como DOCKER|microsoft/azure-functions-*
são preteridos. Novos valores são listados na lista suspensa nodo assistente de tarefa
runtimeStack
-
de pilha de runtime
string
. Opcional. Use quando appType = functionAppLinux
. Valores permitidos: DOTNET|2.2
(DOTNET|2.2 (functionapp v2)), DOTNET|3.1
(DOTNET|3.1 (functionapp v3)), DOTNET|6.0
(DOTNET 6.0 (functionapp v4)), JAVA|8
(JAVA|8 (functionapp v2/v3/v4)), JAVA|11
(JAVA|11 (functionapp v3/v4)), NODE|8
(NODE|8 (functionapp v2)), NODE|10
(NODE|10 (functionapp v2/v3)), NODE|12
(NODE12 (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)).
Especifique a estrutura e a versão em que seu aplicativo de funções será executado. Você pode usar qualquer uma das versões de runtime com suporte . Valores antigos como DOCKER|microsoft/azure-functions-*
são preteridos. Novos valores são listados na lista suspensa nodo assistente de tarefa
runtimeStack
-
de pilha de runtime
string
. Opcional. Use quando appType = functionAppLinux
. Valores permitidos: DOTNET|2.2
(DOTNET|2.2 (functionapp v2)), DOTNET|3.1
(DOTNET|3.1 (functionapp v3)), JAVA|8
(JAVA|3.1 (functionapp v3)), JAVA|8
(JAVA|8 (functionapp v2/v3)), JAVA|11
(JAVA|11 (functionapp v3)), NODE|8
(NODE|8 (functionapp v2)), NODE|8
(NODE|8 (functionapp v2)), NODE|10
NODE|8
(NODE|10 (functionapp v2/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 v2/v3)), PYTHON|3.8
(PYTHON|3.8 (functionapp v3)).
Especifique a estrutura e a versão em que seu aplicativo de funções será executado. Você pode usar qualquer uma das versões de runtime com suporte . Valores antigos como DOCKER|microsoft/azure-functions-*
são preteridos. Novos valores são listados na lista suspensa nodo assistente de tarefa
runtimeStack
-
de pilha de runtime
string
. Opcional. Use quando appType = functionAppLinux
. Valores permitidos: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0
(.NET), DOCKER|microsoft/azure-functions-node8:2.0
(JavaScript).
Especifique a estrutura e a versão em que seu aplicativo de funções será executado. Você pode usar qualquer uma das versões de runtime com suporte . Valores antigos como DOCKER|microsoft/azure-functions-*
são preteridos. Novos valores são listados na lista suspensa nodo assistente de tarefa
de comando de inicialização do
string
. Opcional. Use quando appType = functionAppLinux
.
Insere o comando de inicialização. Por exemplo:
dotnet run
dotnet filename.dll
customWebConfig
-
gerar parâmetros de web.config para aplicativos Python, Node.js, Go e Java
string
. Opcional. Use quando appType != functionAppLinux && package NotEndsWith .war
.
Um Web.config padrão será gerado e implantado no Serviço de Aplicativo do Azure se o aplicativo não tiver um. Os valores em web.config variam de acordo com a estrutura do aplicativo e podem ser editados. Por exemplo, para o aplicativo node.js, web.config terá um arquivo de inicialização e iis_node valores de módulo. Esse recurso de edição é apenas para o gerado web.config.
configurações do aplicativo appSettings
-
string
.
Insira as configurações do aplicativo usando a sintaxe -key value
(por exemplo: -Port 5000
-RequestTimeout 5000
-WEBSITE_TIME_ZONE
). Coloque os valores que contêm espaços entre aspas duplas (por exemplo: "Eastern Standard Time"
).
Para obter mais informações sobre as configurações do aplicativo, consulte Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
configurações de configuração configurationStrings
-
string
.
Insira as cadeias de caracteres de configuração usando a sintaxe -key value
(por exemplo: -phpVersion 5.6
-linuxFxVersion: node|6.11
). Coloque os valores que contêm espaços entre aspas duplas.
método de implantação deploymentMethod
-
string
. Necessário quando appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Valores permitidos: auto
(detecção automática), zipDeploy
(implantação zip), runFromPackage
(implantação zip com run from package). Valor padrão: auto
.
Escolhe o método de implantação para o aplicativo.
método de implantação deploymentMethod
-
string
. Necessário quando appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar
. Valores permitidos: auto
(detecção automática), zipDeploy
(Implantação zip), runFromPackage
(Executar do Pacote). Valor padrão: auto
.
Escolhe o método de implantação para o aplicativo.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Essa tarefa define as seguintes variáveis de saída , que você pode consumir em etapas downstream, trabalhos e estágios.
AppServiceApplicationUrl
a URL do aplicativo do Serviço de Aplicativo selecionado.
Observações
Use a tarefa aplicativo de funções do Azure para implantar funções no Azure.
Métodos de implantação
Vários métodos de implantação estão disponíveis nesta tarefa. O valor padrão é auto
.
Para alterar a opção de implantação baseada em pacote em uma tarefa de designer, expanda Opções adicionais de implantação e habilite Selecionar Método de Implantação.
Com base no tipo do Serviço de Aplicativo do Azure e do agente do Azure Pipelines, a tarefa usa uma tecnologia de implantação adequada. As tecnologias de implantação usadas pelas tarefas são as seguintes:
- da API REST do Kudu
- de implantação zip
- executar de de pacote
Por padrão, a tarefa tenta selecionar a tecnologia de implantação apropriada com base no pacote de entrada, no tipo do Serviço de Aplicativo e no sistema operacional do agente.
- Se um script pós-implantação for fornecido, use Zip Deploy.
- Se o tipo de Serviço de Aplicativo for Aplicativo Web no Linux, use a Implantação zip.
- Se um arquivo .war for fornecido, use War Deploy.
- Se um arquivo .jar for fornecido, use Run-From-Zip.
- Para todas as outras tarefas, use Run From Package (via Zip Deploy).
Em um agente não Windows (para qualquer tipo de Serviço de Aplicativo), a tarefa depende do da API REST do Kudu para implantar o aplicativo Web.
Kudu REST API
O da API REST do
Implantação zip
A implantação zip cria um pacote de implantação .zip do pacote ou pasta escolhido. Em seguida, ele implanta o conteúdo do arquivo na pasta wwwroot do aplicativo de funções de nome do Serviço de Aplicativo no Azure. Essa opção substitui todo o conteúdo existente na pasta wwwroot. Para obter mais informações, consulte implantação zip para o Azure Functions.
Executar do pacote
Executar do Pacote cria o mesmo pacote de implantação que o Zip Deploy. Em vez de implantar arquivos na pasta wwwroot, o runtime do Functions monta todo o pacote. Quando você usa essa opção, os arquivos na pasta wwwroot tornam-se somente leitura. Para obter mais informações, consulte Executar seu Azure Functions de um arquivo de pacote.
Solucionando problemas
Erro: não foi possível buscar o token de acesso para o Azure. Verifique se a Entidade de Serviço usada é válida e não expirou.
A tarefa usa a entidade de serviço na conexão de serviço para autenticar com o Azure. Se a entidade de serviço tiver expirado ou não tiver permissões para o Serviço de Aplicativo, a tarefa falhará com esse erro. Verifique a validade da entidade de serviço usada e se ela está presente no registro do aplicativo. Para obter mais informações, consulte Usar o controle de acesso baseado em função para gerenciar o acesso aos recursos de assinatura do Azure. Esta postagem no blog também contém mais informações sobre como usar a autenticação da entidade de serviço.
Erro SSL
Se você quiser usar um certificado no Serviço de Aplicativo, o certificado deverá ser assinado por uma autoridade de certificação confiável. Se seu aplicativo Web fornecer erros de validação de certificado, você provavelmente está usando um certificado autoassinado. Defina uma variável chamada VSTS_ARM_REST_IGNORE_SSL_ERRORS
com o valor true
no pipeline de build ou versão para resolver o erro.
Uma versão trava por muito tempo e, em seguida, falha
Esse problema pode ser resultado de capacidade insuficiente em seu plano do Serviço de Aplicativo. Para resolver esse problema, você pode escalar verticalmente a instância do Serviço de Aplicativo para aumentar a CPU, a RAM e o espaço em disco disponíveis ou tentar com um plano diferente do Serviço de Aplicativo.
5 códigos de erroxx
Se você estiver vendo um erro de 5xx, verifique o status do serviço do Azure.
A Função do Azure de repente parou de funcionar
O Azure Functions poderá parar de funcionar repentinamente se mais de um ano tiver passado desde a última implantação. Se você implantar com "RunFromPackage" em "deploymentMethod", uma SAS com uma data de validade de 1 ano será gerada e definida como o valor de "WEBSITE_RUN_FROM_PACKAGE" na configuração do aplicativo. O Azure Functions usa essa SAS para fazer referência ao arquivo de pacote para execução da função, portanto, se a SAS tiver expirado, a função não será executada. Para resolver esse problema, implante novamente para gerar uma SAS com uma data de validade de um ano.
Erro: Nenhum pacote encontrado com o padrão especificado
Verifique se o pacote mencionado na tarefa é publicado como um artefato no build ou em um estágio anterior e baixado no trabalho atual.
Erro: não há suporte para publicar usando a opção de implantação zip para o tipo de pacote msBuild
Os pacotes Web criados por meio da tarefa MSBuild (com argumentos padrão) têm uma estrutura de pasta aninhada que pode ser implantada corretamente somente pela Implantação da Web. A opção de implantação publicar para zip não pode ser usada para implantar esses pacotes. Para converter a estrutura de empacotamento, execute estas etapas:
Na tarefa Criar solução, altere o de Argumentos do MSBuild
para : Adicione uma tarefa Arquivar e altere os valores da seguinte maneira:
Altere pasta raiz ou arquivo para arquivar para
$(System.DefaultWorkingDirectory)\\WebAppContent
.Desmarque o nome da pasta raiz Prepend para arquivar caminhos caixa de seleção:
A implantação do aplicativo de funções no Windows é bem-sucedida, mas o aplicativo não funciona
Esse problema poderá ocorrer se um arquivo web.config não estiver presente em seu aplicativo. Você pode adicionar um arquivo web.config à sua origem ou gerar automaticamente um usando o de Configurações de Aplicativo e Configuração da tarefa.
Selecione a tarefa e vá para Gerar parâmetros de web.config para aplicativos Python, Node.js, Go e Java:
Selecione o botão Mais (...) em Gerar parâmetros de web.config para aplicativos Python, Node.js, Go e Java para editar os parâmetros:
Selecione o tipo de aplicativo na lista de da estrutura do aplicativo
. Selecione OK. Isso preencherá os parâmetros de web.config necessários para gerar o arquivo web.config.
Perguntas frequentes
Como devo configurar minha conexão de serviço?
Essa tarefa requer uma conexão de serviço do Azure Resource Manager.
Como devo configurar a implantação de trabalho web com o Application Insights?
Quando você estiver implantando em um Serviço de Aplicativo, se tiver Application Insights configurado e tiver habilitado Remove additional files at destination
, você também precisará habilitar Exclude files from the App_Data folder
. Habilitar essa opção mantém a extensão do Application Insights em um estado seguro. Essa etapa é necessária porque o WebJob contínuo do Application Insights está instalado na pasta App_Data.
Como devo configurar meu agente se ele estiver por trás de um proxy enquanto estou implantando no Serviço de Aplicativo?
Se o agente auto-hospedado exigir um proxy Web, você poderá informar o agente sobre o proxy durante a configuração. Isso permite que seu agente se conecte ao Azure Pipelines ou ao Servidor do Azure DevOps por meio do proxy. Saiba mais sobre como executar um agente auto-hospedado por trás de um proxy Web.
Não consigo implantar em um Ambiente interno do Serviço de Aplicativo usando uma conexão de serviço do Azure Resource Manager e um agente hospedado pela Microsoft
Por design, um agente hospedado pela Microsoft não funcionará com um Ambiente do Serviço de Aplicativo. Em vez disso, você precisa configurar um agente privado em uma máquina virtual que esteja na mesma rede virtual que o Ambiente do Serviço de Aplicativo. Além disso, defina uma zona DNS privada para habilitar a comunicação entre os recursos.
Exemplos
Aqui está um snippet yaml de exemplo que implanta as funções do Azure no 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
Para implantar uma função no Linux, adicione o parâmetro appType
e defina-o como appType: functionAppLinux
. Se você não especificar um valor, functionApp
será o padrão.
Para especificar explicitamente o método de implantação como Zip Deploy, adicione o parâmetro deploymentMethod: zipDeploy
. Outro valor com suporte para esse parâmetro é runFromPackage
.
Se você não especificar um valor, auto
será o padrão.
Para obter um passo a passo que mostra como criar um pipeline de CI/CD, consulte Criar e implantar Java no Azure Functions.
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
Execuções em | Agent, DeploymentGroup |
de demandas |
Nenhum |
recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
restrições de comando | Qualquer |
variáveis settable | Qualquer |
Versão do agente | 2.104.1 ou superior |
Categoria de tarefa | Implantar |