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 run
dotnet 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 |