Partilhar via


Implantação contínua do Azure Functions

O Azure Functions permite que você implante continuamente as alterações feitas em um repositório de controle de origem em um aplicativo de função conectado. Essa integração de controle de origem permite um fluxo de trabalho no qual uma atualização de código aciona a compilação, o empacotamento e a implantação do seu projeto para o Azure.

Você deve sempre configurar o desdobramento contínuo para um slot intermediário e não para o slot de produção. Quando você usa o slot de produção, as atualizações de código são enviadas diretamente para a produção sem serem verificadas no Azure. Em vez disso, ative a implantação contínua num slot de estágio, verifique as atualizações no slot de estágio e, após confirmar que tudo está a funcionar corretamente, poderá substituir o código do slot de estágio pelo de produção. Caso se conecte a um slot de produção, certifique-se de que apenas o código de qualidade de produção seja incluído no ramo de código integrado.

As etapas neste artigo mostram como configurar implantações de código contínuo para seu aplicativo de função no Azure usando o Centro de Implantação no portal do Azure. Você também pode configurar a integração contínua usando a CLI do Azure. Essas etapas podem ter como alvo um slot de teste ou um slot de produção.

O Functions oferece suporte a estas fontes para implantação contínua em seu aplicativo:

Mantenha o código do seu projeto no Azure Repos, 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 Azure Repos?.

Você também pode conectar seu aplicativo de função a um repositório Git externo, mas isso requer uma sincronização manual. Para obter mais informações sobre opções de implantação, consulte Tecnologias de implantação no Azure Functions.

Note

As opções de implantação contínua abordadas neste artigo são específicas para implantações somente de código. Para implantações de aplicativos de função em contêineres, consulte Habilitar a implantação contínua de contêineres no Azure.

Requirements

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 Azure Functions. Quando você cria seu projeto de código usando as Ferramentas Principais do Azure Functions, o Visual Studio Code ou o Visual Studio, os modelos do Azure Functions são usados para criar projetos de código com a estrutura de diretórios correta. Todas as funções em um aplicativo de função são implantadas ao mesmo tempo e no mesmo pacote.

Depois de habilitar a implantação contínua, o acesso ao código de função no portal do Azure é configurado como somente leitura porque a fonte da verdade é conhecida por residir em outro lugar.

Note

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, você precisa configurar o fluxo de trabalho do provedor de compilação diretamente no GitHub ou no Azure Pipelines. Esses fluxos de trabalho também exigem que você use uma máquina virtual na mesma rede virtual que o aplicativo de função como um agente autohospedado (Azure Pipelines) ou um corredor autohospedado (GitHub).

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. As compilações podem ser feitas local ou remotamente, novamente dependendo da sua hospedagem específica. Para obter mais informações, consulte Compilação remota.

Important

Para aumentar a segurança, considere usar um provedor de compilação que ofereça suporte a identidades gerenciadas, incluindo Pipelines do Azure e Ações do GitHub. O serviço Serviço de Aplicativo (Kudu) exige que você habilite a autenticação básica e trabalhe com credenciais baseadas em texto.

O Functions 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 Azure Repos. 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 Azure Functions. Esta tarefa fornece controle sobre como o projeto é criado, empacotado e implantado. Suporta identidades gerenciadas.

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.

Configurar a implantação contínua

O portal do Azure fornece 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.

Captura de ecrã do centro de implementação da aplicação Function no portal do Azure onde escolhe o repositório de origem.

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:

As implantações do Azure Repos que usam o Azure Pipelines são definidas no portal do Azure DevOps e não do seu aplicativo de função. Para obter um guia passo a passo para criar uma implantação baseada no Azure Pipelines a partir do Azure Repos, consulte Entrega contínua com o Azure Pipelines.

Após a conclusão da implantação, todo o código da fonte especificada é implantado em seu aplicativo. 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.

Habilite a implantação contínua durante a criação do aplicativo

Atualmente, você pode configurar a implantação contínua do GitHub usando as Ações do GitHub ao criar seu aplicativo de função no portal do Azure. Você pode fazer isso na guia Implantação na página Criar aplicativo de função .

Se você quiser usar uma fonte de implantação diferente ou um provedor de compilação para integração contínua, primeiro crie seu aplicativo de função e, em seguida, retorne ao portal e configure a integração contínua no Centro de Implantação.

Habilitar a autenticação básica para implantações

Em alguns casos, seu aplicativo de função é criado com o scm acesso de autenticação básica ao ponto de extremidade desativado. Isso bloqueia a publicação por todos os métodos que não podem usar identidades geridas para aceder ao scm endpoint. Os impactos na publicação ao ter o scm endpoint desativado são detalhados em Implementar sem autenticação básica.

Important

Quando você usa a autenticação básica, as credenciais são enviadas em texto não criptografado. Para proteger essas credenciais, deve aceder ao endpoint scm apenas através de uma conexão encriptada (HTTPS) quando utilizar autenticação básica. Para obter mais informações, consulte Implantação segura.

Para habilitar a autenticação básica no ponto de extremidade scm:

  1. No portal do Azure, vá para seu aplicativo de função.

  2. No menu esquerdo do aplicativo, selecione Configurações>Configurações>gerais.

  3. Defina SCM Basic Auth Publishing Credentials como Ativado e selecione Salvar.

Próximos passos