Compartilhar via


AzureFunctionApp@1 - tarefa 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.

Syntax

# 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 - Conexão de Resource Manager do Azure
string. Obrigatórios.

Seleciona a assinatura do Azure Resource Manager para a implantação.


appType - Tipo de aplicativo
string. Obrigatórios. Valores permitidos: functionApp (Aplicativo de Funções no Windows), functionAppLinux (Aplicativo de Funções no Linux).


appName - Azure Functions Nome do aplicativo
string. Obrigatórios.

Insere ou seleciona o nome de um aplicativo Azure Functions existente. Os Aplicativos de Funções listados serão baseados no tipo de aplicativo selecionado.


appName - Nome do aplicativo
string. Obrigatórios.

Insere ou seleciona o nome de um aplicativo Azure Functions existente. 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 ambiente de Serviço de Aplicativo do Azure. Para ambos os destinos, a tarefa precisa de um nome de grupo de recursos.

Se o destino de implantação for um slot, ele usará como padrão o slot de produção . Qualquer outro nome de slot existente também pode ser fornecido.

Se o destino de implantação for um Ambiente Serviço de Aplicativo do Azure, deixe o nome do slot como produção e especifique o Nome do grupo de recursos.


resourceGroupName - Grupo de recursos
string. Obrigatório quando deployToSlotOrASE = true.

O nome do grupo de recursos é necessário quando o destino de 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.


slotName - Slot
string. Obrigatório quando deployToSlotOrASE = true. Valor padrão: production.

Insere ou seleciona um slot existente, excluindo o slot de Produção.


package - Pacote ou pasta
string. Obrigatórios. Valor padrão: $(System.DefaultWorkingDirectory)/**/*.zip.

O caminho do arquivo para o pacote ou pasta que contém Serviço de Aplicativo conteúdo gerado pelo MSBuild, um arquivo zip compactado ou um arquivo war. Há suporte para variáveis ( | versão de build) e curingas. Por exemplo, $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war.


runtimeStack - 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|11JAVA|8, JAVA|17, JAVA|21, NODE|14NODE|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-* foram preteridos. Novos valores são listados na lista suspensa na assistente da tarefa. Se houver uma versão mais recente de uma estrutura disponível nas versões de runtime com suporte , você poderá especificá-la mesmo que ela não esteja na lista.


runtimeStack - 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 (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)).

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-* foram preteridos. Novos valores são listados na lista suspensa na assistente da tarefa. Se houver uma versão mais recente de uma estrutura disponível nas versões de runtime com suporte , você poderá especificá-la mesmo que ela não esteja na lista.


runtimeStack - 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|8 (functionapp v2/v3)), JAVA|11 (JAVA|11 (functionapp v3)), NODE|8 (NODE|8 (functionapp v2)), NODE|10 (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-* foram preteridos. Novos valores são listados na lista suspensa na assistente da tarefa. Se houver uma versão mais recente de uma estrutura disponível nas versões de runtime com suporte , você poderá especificá-la mesmo que ela não esteja na lista.


runtimeStack - 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-* foram preteridos. Novos valores são listados na lista suspensa na assistente da tarefa. Se houver uma versão mais recente de uma estrutura disponível nas versões de runtime com suporte , você poderá especificá-la mesmo que ela não esteja na lista.


startUpCommand - Comando de inicialização
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 web.configgerado .


appSettings - Configurações do aplicativo
string.

Insira as configurações do aplicativo usando a sintaxe -key value (por exemplo:-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE ). Coloque os valores que contêm espaços entre aspas duplas (por exemplo: "Eastern Standard Time").


configurationStrings - Definições de configuração
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.


deploymentMethod - Método de implantação
string. Obrigató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 executar do pacote). Valor padrão: auto.

Escolhe o método de implantação para o aplicativo.


deploymentMethod - Método de implantação
string. Obrigató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 da tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Essa tarefa define as variáveis de saída a seguir, que você pode consumir em etapas downstream, trabalhos e estágios.

AppServiceApplicationUrl
A URL do aplicativo do Serviço de Aplicativo selecionado.

Comentários

Use a tarefa do 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:

Por padrão, a tarefa tenta selecionar a tecnologia de implantação apropriada com base no pacote de entrada, no tipo de Serviço de Aplicativo e no sistema operacional do agente.

  • Se um script pós-implantação for fornecido, use a Implantação de zip.
  • Se o tipo de Serviço de Aplicativo for Aplicativo Web no Linux, use a Implantação de zip.
  • Se um arquivo .war for fornecido, use Implantação de war.
  • Se um arquivo .jar for fornecido, use Executar do zip.
  • Para todas as outras tarefas, use Executar do Pacote (via Zip Deploy).

Em um agente não Windows (para qualquer tipo de Serviço de Aplicativo), a tarefa depende da API REST do Kudu para implantar o aplicativo Web.

API REST do Kudu

A API REST do Kudu funciona em agentes de automação do Windows e do Linux quando o destino é um Aplicativo Web no Windows, um Aplicativo Web no Linux (origem interna) ou um aplicativo de funções. A tarefa usa o Kudu para copiar arquivos para o Serviço de Aplicativo do Azure.

Implantação de zip

A Implantação de zip cria um pacote de implantação .zip do pacote ou pasta escolhido. Em seguida, ela implanta o conteúdo do arquivo na pasta wwwroot do aplicativo de funções chamado Serviço de Aplicativo no Azure. Essa opção substitui todo o conteúdo existente na pasta wwwroot. Para obter mais informações, confira Implantação de zip para o Azure Functions.

Execução a partir do pacote

Ao usar Executar do Pacote, cria-se o mesmo pacote de implantação que a Implantação de zip. Em vez de implantar arquivos na pasta wwwroot, o runtime do Functions monta o pacote inteiro. Ao usar essa opção, os arquivos na pasta wwwroot tornam-se somente leitura. Para obter mais informações, consulte Executar o Azure Functions de um arquivo de pacote.

Solução de 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, confira Usar o controle de acesso baseado em função para gerenciar o acesso aos recursos da sua 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 de SSL

Se você quiser usar um certificado no Serviço de Aplicativo, o certificado precisará ser assinado por uma autoridade de certificação confiável. Se o seu aplicativo Web retorna erros de validação de certificado, você provavelmente está usando um certificado autoassinado. Defina uma variável chamada VSTS_ARM_REST_IGNORE_SSL_ERRORS para o valor true no pipeline de build ou lançamento para resolver o erro.

Uma versão fica parada por muito tempo e depois falha

Esse problema pode ser resultado de capacidade insuficiente em seu plano de 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 pode tentar um plano diferente do Serviço de Aplicativo.

Códigos de erro 5xx

Se você estiver vendo um erro 5xx, verifique o status do serviço do Azure.

O Azure Function parou de funcionar repentinamente

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. 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 resolve 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 está publicado como um artefato na 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 da Web criados com a tarefa MSBuild (com argumentos padrão) têm uma estrutura de pastas aninhada que só pode ser implantada corretamente pela Implantação da Web. A opção de implantação de publicação em zip não pode ser usada para implantar esses pacotes. Para converter a estrutura de empacotamento, siga estas etapas:

  1. Na tarefa Solução de build, altere MSBuild Arguments para /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent":

    Captura de tela que mostra os valores da Solução de build.

  2. Adicione uma tarefa Arquivar e altere os valores da seguinte maneira:

    1. Altere Pasta raiz ou documento para arquivar para $(System.DefaultWorkingDirectory)\\WebAppContent.

    2. Desmarque a caixa de seleção Prefixar nome da pasta raiz para caminhos de arquivo:

      Captura de tela que mostra os valores de Arquivar.

A implantação do aplicativo de funções no Windows foi 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 fonte ou gerar um automaticamente usando as Definições de Aplicativo e Configuração da tarefa.

  1. Selecione a tarefa e acesse Gerar parâmetros web.config para aplicativos Python, Node.js, Go e Java:

    Captura de tela que mostra a seção Gerar parâmetros web.config.

  2. Clique no botão de mais opções (...) em Gerar parâmetros web.config para aplicativos Python, Node.js, Go e Java para editar os parâmetros:

    Captura de tela que mostra a Gerar parâmetros web.config.

  3. Selecione o tipo de aplicativo na lista Estrutura do aplicativo.

  4. Selecione OK. Isso preencherá os parâmetros web.config necessários para gerar o arquivo web.config.

Perguntas frequentes

Como devo configurar minha conexão de serviço?

Essa tarefa exige uma conexão de serviço do Azure Resource Manager.

Como devo configurar a implantação de trabalho Web com o Application Insights?

Ao implantar em um Serviço de Aplicativo, se você tiver o Application Insights configurado e tiver habilitado Remove additional files at destination, 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. Fazer isso possibilita que seu agente se conecte ao Azure Pipelines ou Azure DevOps Server 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 do Serviço de Aplicativo interno usando uma conexão de serviço Resource Manager do Azure 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. Também defina uma zona DNS privada para habilitar a comunicação entre os recursos.

Exemplos

Aqui está um snippet YAML de exemplo que implanta 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, o padrão será functionApp.

Para especificar explicitamente o método de implantação como Implantação de zip, adicione o parâmetro deploymentMethod: zipDeploy. Outro valor com suporte para esse parâmetro é runFromPackage. Se você não especificar um valor, o padrão será auto.

Para obter um passo a passo que mostra como criar um pipeline de CI/CD (integração contínua e entrega contínua), confira Compilar e implantar o Java no Azure Functions.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
É executado em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.104.1 ou superior
Categoria da tarefa Implantar