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 run
dotnet 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 destination
o , 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 |