AzureFunctionAppContainer@1 – Azure Functions para a tarefa do contêiner v1
Atualizar um aplicativo de funções com um contêiner do Docker.
Atualize os Aplicativos de Funções com contêineres do Docker.
Syntax
# 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.
# Azure Function for container v1
# Update Function Apps with Docker containers.
- 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órios.
Seleciona a assinatura Resource Manager do Azure para a implantação.
appName
- Nome do aplicativo
string
. Obrigatórios.
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 Serviço de Aplicativo do Azure Ambiente. 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 produção ou você pode especificar qualquer outro nome de slot existente. 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 que contém o Aplicativo de Funções para Contêineres.
slotName
- Slot
string
. Obrigatório quando deployToSlotOrASE = true
. Valor padrão: production
.
Insere ou seleciona um slot existente, excluindo o slot de produção .
imageName
- Nome da imagem
string
. Obrigatórios.
Um nome de domínio de nível superior global exclusivo para seu registro ou namespace específico.
Nota: Um nome de imagem totalmente qualificado será do formato: <registry or namespace> <repository> <tag>
. Por exemplo, myregistry.azurecr.io/nginx:latest
.
containerCommand
- Comando de inicialização
string
.
O comando de inicialização que é executado após a implantação. Por exemplo, dotnet run
dotnet filename.dll.
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.
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 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 essa 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, confira Usar o controle de acesso baseado em função para gerenciar o acesso aos recursos da sua assinatura do Azure. Esta postagem de 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 deverá 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 resolve 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 resolve esse problema, você pode escalar verticalmente a instância Serviço de Aplicativo para aumentar a CPU, a RAM e o espaço em disco disponíveis ou tentar um plano de Serviço de Aplicativo diferente.
Códigos de erro 5xx
Se você estiver vendo um erro 5xx, marcar o status do serviço do Azure.
A Função do Azure 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 de 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.
Como devo configurar minha conexão de serviço?
Essa tarefa requer uma conexão de serviço Resource Manager do Azure.
Como 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
o , também precisará habilitar Exclude files from the App_Data folder
o . 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 atrá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 Azure DevOps Server por meio do proxy. Saiba mais sobre como executar um agente auto-hospedado por trás de um proxy Web.
Exemplos
Este exemplo implanta 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 |
Executa em | Agent, DeploymentGroup |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda para 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 |