Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Funções do Azure permite-lhe implementar continuamente alterações de um repositório de controlo de versões para uma aplicação de funções. Neste fluxo de trabalho, uma atualização de código desencadeia a compilação, empacotamento e implementação do seu projeto para o Azure. Os fornecedores de implementação suportados e as estratégias de lançamento dependem do plano de alojamento.
| Plano de alojamento | Fornecedor recomendado de CI/CD | Orientação de implantação e lançamento |
|---|---|---|
| Consumo Flexível | GitHub Actions ou Azure Pipelines | Utiliza implementação de pacotes. Os slots de implementação não são suportados. Use os controlos de lançamento do CI/CD e considere atualizações progressivas para implementações sem tempo de inatividade. |
| Prémio Elástico, Dedicado e Consumo | GitHub Actions ou Azure Pipelines | Utiliza a implementação ZIP. Se a sua aplicação o suportar, implemente num slot de teste, valide a atualização e, em seguida, troque-o para produção. |
| Azure Container Apps | Fluxo de trabalho de construção e implementação de contentores | Lança uma imagem de contentor. Para obter mais informações, consulte Visão geral do Funções do Azure on Azure Container Apps. |
Selecione o seu plano de alojamento no topo deste artigo para ver as orientações de implementação contínua que se aplicam à sua aplicação de funções.
Para planos de alojamento que suportem faixas de implementação, configure a implementação contínua numa faixa de teste em vez da faixa de produção. Verifica as atualizações no ambiente de teste e depois substitui o slot de produção pelo de teste. Se ligares diretamente a um slot de produção, certifica-te de que só código de qualidade de produção chega ao ramo integrado.
Para consumo flexível, configure GitHub Actions ou Azure Pipelines. Como o Flex Consumption não suporta slots de implementação, mantenha o seu histórico de implementação no controlo de versões e o seu sistema CI/CD para recuperar de uma implementação má.
Para Funções no Azure Container Apps, construa e implemente uma imagem de contentor. Os espaços de implantação não estão disponíveis. Use revisões e considere uma estratégia de implementação azul-verde para lançamentos sem tempo de inatividade.
Os passos do Centro de Implementação neste artigo aplicam-se a aplicações de funções que suportam a integração com o controlo de código-fonte do App Service. No plano Consumption, esta integração é suportada apenas no Windows. Também pode configurar a integração com controlo de versões utilizando a CLI do Azure.
O Funções do Azure suporta estas fontes para implementação contínua na sua aplicação:
Mantenha o código do seu projeto no Repositórios do Azure, um dos serviços no Azure DevOps. Suporta controle de versão do Git e do Team Foundation. Usado com o provedor de compilação do Azure Pipelines. Para obter mais informações, consulte O que é o Repositórios do Azure?
Também pode ligar a sua aplicação de funções a um repositório Git externo, mas esta opção requer sincronização manual. Para obter mais informações sobre opções de implantação, consulte Tecnologias de implantação no Funções do Azure.
Nota
As opções de implantação contínua abordadas neste artigo são específicas para implantações somente de código. Para Funções do Azure on Azure Container Apps, veja Funções do Azure on Azure Container Apps overview. Para um contentor personalizado alojado pelo Funções do Azure num plano Premium ou Dedicado, consulte a secção Permitir implementação contínua de containers no Azure em Work with containers and Funções do Azure.
O Flex Consumption suporta a implementação contínua a partir do Repositórios do Azure usando o Azure Pipelines e do GitHub através do GitHub Actions. A integração do App Service com o controlo de código-fonte, incluindo implementações do Bitbucket e do Git Local, não é suportada.
Para Functions no Azure Container Apps, mantenha o código-fonte no repositório da sua preferência e utilize um fluxo de trabalho de CI/CD para criar e publicar uma imagem de contentor. Depois atualiza a tua aplicação de funções para usar a nova imagem. Para mais informações, consulte Implementação e configuração do Functions no Azure Container Apps.
Requisitos
A unidade de implantação para funções no Azure é o aplicativo de função. Para que a implantação contínua seja bem-sucedida, a estrutura de diretórios do seu projeto deve ser compatível com a estrutura básica de pastas esperada pelo Funções do Azure. Quando cria o seu projeto de código usando o Funções do Azure Core Tools, Visual Studio Code ou Visual Studio, os templates do Funções do Azure criam projetos de código com a estrutura de diretórios correta. Implementas todas as funções numa aplicação de funções ao mesmo tempo e no mesmo pacote.
Depois de ativar a implementação contínua, o acesso ao código de função no portal do Azure é configurado como apenas leitura porque a fonte da verdade reside noutro local.
Nota
O Centro de Implantação não oferece suporte à habilitação da implantação contínua para um aplicativo de função com restrições de rede de entrada. Em vez disso, configure o fluxo de trabalho do fornecedor de compilação diretamente no GitHub ou no Azure Pipelines. O runner ou agente deve conseguir aceder ao endpoint de implementação da aplicação ao abrigo das restrições de acesso configuradas. Quando o endpoint é privado, o runner ou agente também precisa de resolução DNS privada. Para Azure Pipelines, use um agente auto-hospedado numa rede ligada ou um pool de agentes DevOps gerido com rede. Para GitHub Actions, use um runner auto-hospedado numa rede ligada ou um runner hospedado no GitHub com rede privada do Azure.
Quando a sua aplicação de funções tem restrições de rede de entrada, o executor ou agente do workflow deve conseguir aceder ao endpoint de implementação da aplicação sob as restrições de acesso configuradas. Quando o endpoint é privado, o runner ou agente também precisa de resolução DNS privada. Para Azure Pipelines, use um agente auto-hospedado numa rede ligada ou um pool de agentes DevOps gerido com rede. Para GitHub Actions, use um runner auto-hospedado numa rede ligada ou um runner hospedado no GitHub com rede privada do Azure.
O seu fluxo de trabalho CI/CD deve construir uma imagem container válida do Funções do Azure, empurrar a imagem para um registo ao qual a sua aplicação container possa aceder e atualizar a function app para criar uma revisão a partir dessa imagem. Para mais informações, consulte Criar uma aplicação de funções no Azure Container Apps.
Selecione um provedor de compilação
A criação de seu projeto de código faz parte do processo de implantação. O processo de compilação específico depende da sua pilha de idiomas, sistema operacional e plano de hospedagem específicos. Podes construir localmente ou remotamente, dependendo do teu alojamento. Para obter mais informações, consulte Compilação remota.
Importante
Para maior segurança, utilize um fornecedor de compilações que suporte identidades geridas, como o Azure Pipelines e o GitHub Actions. O serviço de construção do App Service exige que ative a autenticação básica e utilize credenciais baseadas em texto.
O Funções do Azure suporta estes fornecedores de compilação:
O Azure Pipelines é um dos serviços no Azure DevOps e o provedor de compilação padrão para projetos do Repositórios do Azure. Você também pode usar o Azure Pipelines para criar projetos do GitHub. No Azure Pipelines, há uma AzureFunctionApp tarefa projetada especificamente para implantação no Funções do Azure. Esta tarefa fornece controle sobre como o projeto é criado, empacotado e implantado. O Azure Pipelines suporta identidades geridas.
Tenha em mente os pontos fortes e as limitações desses provedores ao habilitar a integração do controle do código-fonte. Talvez seja necessário alterar o tipo de origem do repositório para aproveitar um provedor específico.
Use o Azure Pipelines ou o GitHub Actions para construir e implementar o seu projeto. Estes fornecedores suportam identidades Microsoft Entra e utilizam o processo de implementação do pacote Flex Consumption.
- Para Repositórios do Azure, use Azure Pipelines.
- Para o GitHub, usa o GitHub Actions.
O serviço de compilação do App Service não se aplica ao Flex Consumption.
Use um fornecedor de compilação de contentores que possa criar a sua imagem Funções do Azure, enviá-la para um registo de contentores e atualizar a sua aplicação de funções para criar uma revisão a partir da nova imagem. Para um fluxo de trabalho GitHub Actions de ponta a ponta, veja Deploy to Azure Container Apps with GitHub Actions.
Configurar a implantação contínua
O portal Azure disponibiliza um Centro de Implementação para as suas aplicações funcionais, o que facilita a configuração da implementação contínua. A maneira específica como você configura a implantação contínua depende do tipo de repositório de controle do código-fonte no qual seu código reside e do provedor de compilação escolhido.
No portal do Azure, navegue até a página do aplicativo de função e selecione Centro de Implantação em Implantação no painel esquerdo.
Selecione o tipo de repositório de origem onde o código do projeto está sendo mantido a partir de uma destas opções suportadas:
Defina implementações a partir do Repositórios do Azure que utilizam o Azure Pipelines no portal do Azure DevOps. Não definas estas implementações a partir da tua aplicação de funções. Para um guia passo a passo para criar uma implementação baseada em Azure Pipelines a partir do Repositórios do Azure, consulte Continuous delivery with Azure Pipelines.
Após a implementação terminar, o serviço implementa todo o código da fonte especificada para a sua aplicação. Nesse ponto, as alterações na fonte de implantação acionam uma implantação dessas alterações em seu aplicativo de função no Azure.
Configure a implementação contínua no seu repositório utilizando um destes fornecedores:
Cada fluxo de trabalho bem-sucedido implementa um novo pacote de aplicação. A integração do controlo de código-fonte do Deployment Center não está disponível para o Flex Consumption.
Configura o teu fluxo de trabalho CI/CD para construir e enviar a imagem do contentor, e depois implementa a imagem na tua aplicação de funções. Cada atualização de imagem cria uma revisão do Container Apps. Para mais informações, veja Deploy to Azure Container Apps with GitHub Actions.
Habilite a implantação contínua durante a criação do aplicativo
Quando crias uma aplicação de funções no portal do Azure, podes configurar a implementação contínua a partir do GitHub usando o GitHub Actions. Configure GitHub Actions no separador Deployment da página Criar Aplicação de Funções.
Para usar uma origem de implementação diferente ou um fornecedor de compilação diferente para integração contínua, crie primeiro a sua aplicação de funções. Depois, regressar ao portal e configurar integração contínua no Centro de Implantação.
Para o Azure Pipelines, primeiro crie a sua aplicação de funções e depois configure o pipeline no Azure DevOps.
Crie a aplicação de funções a partir de uma imagem de contentor e, depois, configure o seu fluxo de trabalho de CI/CD para publicar imagens atualizadas e criar revisões. Para mais informações, consulte Criar uma aplicação de funções no Azure Container Apps.
Habilitar a autenticação básica para implantações
Esta secção aplica-se apenas a métodos de implementação que utilizam o endpoint de implementação do App Service.
Em alguns casos, a sua aplicação de funções é criada com o acesso por autenticação básica ao endpoint de implantação desativado. Esta condição bloqueia a publicação por todos os métodos que não possam usar identidades Microsoft Entra para aceder ao endpoint de implementação. Os impactos na publicação da desativação da autenticação básica para o ponto final de implementação são detalhados em Implementar sem autenticação básica.
Importante
Quando você usa a autenticação básica, as credenciais são enviadas em texto não criptografado. Para proteger estas credenciais, só deve aceder ao endpoint de implementação através de uma ligação encriptada (HTTPS) quando usar autenticação básica. Para obter mais informações, consulte Implantação segura.
Para ativar a autenticação básica para o endpoint de implementação:
No portal do Azure, vá para seu aplicativo de função.
No menu esquerdo do aplicativo, selecione Configurações>Configurações>gerais.
Defina SCM Basic Auth Publishing Credentials como Ativado e selecione Salvar.
A autenticação básica SCM não se aplica a implementações de pacotes Flex Consumption. Por defeito, o Azure Pipelines utiliza um token de portador do Microsoft Entra da ligação de serviço do Azure obrigatória; recomenda-se a federação de identidade de carga de trabalho. No GitHub Actions, use a autenticação recomendada com OpenID Connect (OIDC). Estes métodos evitam a publicação de credenciais SCM e são mais seguros do que a autenticação básica.
Esta configuração básica de autenticação não se aplica a Funções no Azure Container Apps. Configura a autenticação entre o teu fornecedor de CI/CD, registo de contentores e aplicação de contentor em vez disso.