Compartilhar via


AzureFunctionAppContainer@1 – Tarefa do Azure Functions para contêiner v1

Atualize um aplicativo de funções com um contêiner do Docker.

Sintaxe

# 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.

Entradas

azureSubscription - assinatura do Azure
string. Obrigatório

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


appName - nome do aplicativo
string. Obrigatório

O nome do aplicativo de funções para contêineres.


deployToSlotOrASE - Implantar no Slot ou no Ambiente do Serviço de Aplicativo
boolean. Valor padrão: false.

Defina essa entrada como true para implantar em um slot de implantação existente ou no Ambiente do Serviço de Aplicativo do Azure. A tarefa precisa de um nome de Grupo de Recursos para ambos os destinos. Para a opção de slot de implantação, o padrão é implantado no slot de de produção ou você pode especificar qualquer outro nome de slot existente. 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 que contém o Aplicativo de Funções para Contêineres.


de slot do
string. Necessário quando deployToSlotOrASE = true. Valor padrão: production.

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


imageName - nome da imagem
string. Obrigatório

Um nome de domínio de nível superior global exclusivo para seu registro ou namespace específico.

Observação: Um nome de imagem totalmente qualificado será do formato: <registry or namespace> <repository> <tag>. Por exemplo, myregistry.azurecr.io/nginx:latest.


de comando de inicialização do
string.

O comando de inicialização que é executado após a implantação. Por exemplo, dotnet rundotnet filename.dll.


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").


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.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além das suas entradas de tarefas. 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 esta tarefa para implantar uma função do Azure no Linux usando uma imagem personalizada .

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.

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.

Exemplos

Este exemplo implanta o Azure Functions no Linux usando contêineres:


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)

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