Partilhar via


AzureFunctionAppContainer@1 - Funções do Azure para a tarefa de contentor v1

Atualize uma aplicação de funções com um contentor do Docker.

Atualizar Aplicações de Funções com contentores 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 - Subscrição do Azure
string. Obrigatório.

Seleciona a subscrição do Azure Resource Manager para a implementação.


appName - Nome da aplicação
string. Obrigatório.

O nome da Aplicação de Funções para Contentores.


deployToSlotOrASE - Implementar no Bloco ou Ambiente do Serviço de Aplicações
boolean. Valor predefinido: false.

Defina esta entrada para true implementar num bloco de implementação existente ou Serviço de Aplicações do Azure Ambiente. A tarefa precisa de um nome do Grupo de Recursos para ambos os destinos. Para a opção de bloco de implementação, a predefinição é implementada no bloco de produção ou pode especificar qualquer outro nome de bloco existente. Se o destino de implementação for um Ambiente Serviço de Aplicações do Azure, deixe o nome do bloco como 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 a Aplicação de Funções para Contentores.


slotName - Bloco
string. Necessário quando deployToSlotOrASE = true. Valor predefinido: production.

Introduz ou seleciona um bloco existente, excluindo o bloco de produção .


imageName - Nome da imagem
string. Obrigatório.

Um nome de domínio de nível superior globalmente exclusivo para o seu registo ou espaço de nomes específico.

Nota: Um nome de imagem completamente qualificado será do formato: <registry or namespace> <repository> <tag>. Por exemplo, myregistry.azurecr.io/nginx:latest.


containerCommand - Comando de arranque
string.

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


appSettings - Definições da aplicação
string.

Introduza as definições da aplicação com a sintaxe -key value (por exemplo:-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE ). Incluir valores que contenham espaços em aspas duplas (por exemplo: "Eastern Standard Time").


configurationStrings - Definições de configuração
string.

Introduza as cadeias de configuração com a sintaxe -key value (por exemplo: -phpVersion 5.6-linuxFxVersion: node|6.11). Coloque os valores que contêm espaços em aspas duplas.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Esta tarefa define as seguintes variáveis de saída, que pode consumir em passos, tarefas e fases a jusante.

AppServiceApplicationUrl
O URL da aplicação do Serviço de Aplicações selecionado.

Observações

Utilize esta tarefa para implementar uma Função do Azure no Linux com uma imagem personalizada.

Erro: Não foi possível obter o token de acesso para o Azure. Verifique se o Principal de Serviço utilizado é válido e não expirou.

A tarefa utiliza o principal de serviço na ligação de serviço para autenticar com o Azure. Se o principal de serviço tiver expirado ou não tiver permissões para o Serviço de Aplicações, a tarefa falhará com este erro. Verifique a validade do principal de serviço utilizado e se este está presente no registo da aplicação. Para obter mais informações, veja Utilizar o controlo de acesso baseado em funções para gerir o acesso aos recursos da subscrição do Azure. Esta publicação de blogue também contém mais informações sobre a utilização da autenticação do principal de serviço.

Erro SSL

Se quiser utilizar um certificado no Serviço de Aplicações, o certificado tem de ser assinado por uma autoridade de certificação fidedigna. Se a sua aplicação Web der erros de validação do certificado, é provável que esteja a utilizar um certificado autoassinado. Defina uma variável com o nome VSTS_ARM_REST_IGNORE_SSL_ERRORS para o valor true no pipeline de compilação ou versão para resolver o erro.

Uma versão fica pendente durante muito tempo e falha

Este problema pode ser o resultado de uma capacidade insuficiente no seu plano de Serviço de Aplicações. Para resolver este problema, pode aumentar verticalmente a instância Serviço de Aplicações para aumentar a CPU, a RAM e o espaço em disco disponíveis ou experimentar com um plano de Serviço de Aplicações diferente.

Códigos de erro 5xx

Se estiver a ver um erro de 5xx , verifique o estado do serviço do Azure.

De repente, a Função do Azure deixou de funcionar

Funções do Azure poderá deixar de funcionar se tiver passado mais de um ano desde a última implementação. Se implementar com "RunFromPackage" em "deploymentMethod", é gerada uma SAS com uma data de expiração de 1 ano e definida como o valor de "WEBSITE_RUN_FROM_PACKAGE" na configuração da aplicação. Funções do Azure utiliza esta SAS para referenciar o ficheiro de pacote para execução de funções, pelo que, se a SAS tiver expirado, a função não será executada. Para resolver este problema, implemente novamente para gerar uma SAS com uma data de expiração de um ano.

Como devo configurar a minha ligação de serviço?

Esta tarefa requer uma ligação de serviço do Azure Resource Manager.

Como devo configurar a implementação de tarefas Web com o Application Insights?

Quando estiver a implementar num Serviço de Aplicações, se tiver o Application Insights configurado e tiver ativado Remove additional files at destinationo , também tem de ativar Exclude files from the App_Data folder. Ativar esta opção mantém a extensão do Application Insights num estado seguro. Este passo é necessário porque o WebJob contínuo do Application Insights está instalado na pasta App_Data.

Como devo configurar o meu agente se estiver atrás de um proxy enquanto estou a implementar no Serviço de Aplicações?

Se o agente autoalojado precisar de um proxy Web, pode informar o agente sobre o proxy durante a configuração. Fazê-lo permite que o agente se ligue aos Pipelines do Azure ou Azure DevOps Server através do proxy. Saiba mais sobre como executar um agente autoalojado atrás de um proxy Web.

Exemplos

Este exemplo implementa Funções do Azure no Linux com contentores:


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 Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agente, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de tabelas definidas Qualquer
Versão do agente 2.104.1 ou superior
Categoria da tarefa Implementação