Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
A partir de 1º de junho de 2024, os aplicativos recém-criados do Serviço de Aplicativo podem gerar um nome de host padrão exclusivo que usa a convenção <app-name>-<random-hash>.<region>.azurewebsites.net
de nomenclatura. Por exemplo: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
. Os nomes de aplicativos existentes permanecem inalterados.
Para obter mais informações, confira a postagem no blog sobre como criar um aplicativo Web com um nome de host padrão exclusivo.
Você pode configurar a implantação contínua dos repositórios GitHub, Bitbucket e Azure usando o Serviço de Aplicativo do Azure, que recebe as atualizações mais recentes. Este guia fornece tudo o que você precisa para começar.
Preparar o repositório
Para obter builds automatizados do servidor de compilação do Serviço de Aplicativos, verifique se a raiz do seu repositório contém os arquivos corretos para o seu projeto.
Tempo de execução | Arquivos do diretório raiz |
---|---|
ASP.NET (somente Windows) | *.sln , *.csproj ou default.aspx . |
ASP.NET Core | *.sln ou *.csproj . |
PHP | index.php . |
Ruby (somente Linux) | Gemfile . |
Node.js | server.js , app.js ou package.json com um script de início. |
Python | *.py , requirements.txt ou runtime.txt . |
HTML | default.htm , default.html , default.asp , index.htm , index.html , ou iisstart.htm . |
WebJobs | <job_name>/run.<extension> em App_Data/jobs/continuous para WebJobs contínuos ou App_Data/jobs/triggered para WebJobs disparados. Para mais informações, confira a documentação do Kudu WebJobs. |
Funções | Consulte Implantação contínua no Azure Functions. |
Para personalizar sua implantação, inclua um .deployment
arquivo na raiz do repositório. Para mais informações, confira Personalizar implantações e Script de implantação personalizado.
Dica
O Visual Studio pode criar um repositório para você. Com esse método, seu projeto está imediatamente pronto para implantação por meio do Git.
Configurar a fonte de implantação
No portal do Azure, acesse o painel de controle para seu App Service.
No menu à esquerda, selecione Centro de Implantação. Em seguida, selecione Configurações.
Na caixa Origem, selecione uma das opções Implantação Contínua (CI/CD):
Para continuar, selecione a guia que corresponde ao seu provedor de build.
O GitHub Actions é o provedor de compilação padrão. Para alterar o provedor, selecione Alterar provedor>Serviço de compilação do Serviço de Aplicativo>OK.
Ao realizar a primeira implantação pelo GitHub, selecione Autorizar e siga os prompts de autorização. Para implantar no repositório de outro usuário, selecione Alterar Conta.
Depois de autorizar sua conta do Azure com o GitHub, selecione a Organização, o Repositório e o Branch apropriados.
Se você não conseguir encontrar uma organização ou repositório, talvez seja necessário habilitar mais permissões no GitHub. Para obter mais informações, consulte Gerenciamento do acesso aos repositórios de sua organização.
Em Tipo de autenticação, selecione Identidade atribuída pelo usuário para obter uma melhor segurança. Para obter mais informações, consulte Perguntas mais frequentes.
Observação
Se sua conta do Azure tiver as permissões necessárias para a opção de Identidade atribuída pelo usuário, o Azure criará uma identidade gerenciada atribuída pelo usuário para você. Se você não tiver as permissões necessárias, trabalhe com o administrador do Azure para criar uma identidade com a função necessária no seu aplicativo e, em seguida, selecione-a na lista suspensa.
(Opcional) Para ver o arquivo antes de salvar as alterações, selecione Visualizar arquivo. O Serviço de Aplicativo seleciona um modelo de fluxo de trabalho com base na configuração da pilha de linguagem do aplicativo e o registra no repositório GitHub selecionado.
Selecione Salvar.
Os novos commits no repositório e branch selecionados agora são implantados continuamente no seu aplicativo do Serviço de Aplicativo. É possível acompanhar as confirmações e implantações na guia Logs.
Desabilitar a implantação contínua
No portal do Azure, vá para a página de gerenciamento do seu app do App Service.
No menu à esquerda, selecione Centro de Implantação. Em seguida, selecione Configurações>Desconectar.
O arquivo de fluxo de trabalho do GitHub Actions é preservado em seu repositório por padrão, mas continua disparando a implantação para seu aplicativo. Para excluir o arquivo do repositório, selecione Excluir arquivo de fluxo de trabalho.
Selecione OK.
Quais são os provedores de compilação?
Dependendo da origem da implantação no Centro de Implantação, você poderá ver algumas opções de provedor de construção. Os provedores de build ajudam você a criar uma solução de CI/CD (integração contínua e entrega contínua) com o Serviço de Aplicativo do Azure automatizando a compilação, o teste e a implantação.
Você não está limitado às opções de provedor de build encontradas no Centro de Implantação, mas, ao usar o App Service, pode configurá-las rapidamente e obter uma experiência integrada de registro de implantação.
O provedor de compilação do GitHub Actions está disponível apenas para implantação do GitHub. Quando configurado no centro de implantações do aplicativo, o provedor de build configura a CI/CD depositando um arquivo de fluxo de trabalho do GitHub Actions no seu repositório do GitHub que lida com as tarefas de build e implantação no Serviço de Aplicativo.
Para autenticação básica, ele adiciona o perfil de publicação para seu aplicativo como um segredo do GitHub. O arquivo de fluxo de trabalho usa esse segredo para autenticar-se no serviço de aplicativo. Para obter a identidade atribuída pelo usuário, confira O que a opção de identidade atribuída pelo usuário faz para o GitHub Actions?
Ele captura informações dos logs de execução do fluxo de trabalho e exibe-as na guia Logs no Centro de Implantação.
Você pode personalizar o provedor de compilação GitHub Actions como a seguir:
- Você pode personalizar o arquivo de fluxo de trabalho depois que ele é gerado em seu repositório GitHub. Para saber mais, consulte Sintaxe de fluxo de trabalho para o GitHub Actions. Apenas certifique-se de que o fluxo de trabalho seja implantado no Serviço de Aplicativo com a
azure/webapps-deploy
ação. - Se o branch selecionado estiver protegido, você ainda poderá visualizar o arquivo de fluxo de trabalho sem salvar a configuração e adicioná-lo manualmente ao repositório. Esse método não fornece integração de log com o portal do Azure.
- Em vez de usar autenticação básica ou uma identidade atribuída pelo usuário, você também pode implantar usando um entidade de serviço no Microsoft Entra ID. Esse método não pode ser configurado no portal.
O que acontece com meu aplicativo durante a implantação?
Quando você usa métodos de implantação com suporte oficial, são feitas alterações nos arquivos na pasta do /home/site/wwwroot
aplicativo. Esses arquivos são usados para executar o aplicativo. A implantação pode falhar devido a arquivos bloqueados. O aplicativo também pode se comportar de modo imprevisível durante a implantação, porque nem todos os arquivos são atualizados ao mesmo tempo. Esse comportamento não é desejável para um aplicativo voltado ao cliente.
Há algumas maneiras de evitar esses problemas:
- Execute o aplicativo diretamente do pacote ZIP, sem descompactá-lo.
- Interrompa o aplicativo ou habilite o modo offline durante a implantação. Para obter mais informações, confira Lidar com arquivos bloqueados durante a implantação.
- Implantar em um slot de preparo com troca automática ativada.
Perguntas frequentes
- O provedor de compilação do GitHub Actions funcionará com autenticação básica se a autenticação básica estiver desabilitada?
- O que a opção de identidade atribuída pelo usuário faz para o GitHub Actions?
- Por que estou vendo a mensagem de erro "Esta identidade não tem permissão para gravar neste aplicativo?" Selecione uma identidade diferente ou trabalhe com o administrador para conceder a função Colaborador do Site à sua identidade neste aplicativo"?
- Por que vejo o erro "Esta identidade não tem permissão de escrita neste aplicativo"? Selecione uma identidade diferente ou trabalhe com o administrador para conceder a função Colaborador do Site à sua identidade neste aplicativo"?
O provedor de compilação do GitHub Actions funcionará com autenticação básica se a autenticação básica estiver desabilitada?
Não. Tente usar o GitHub Actions com a opção de identidade atribuída pelo usuário.
Para obter mais informações, consulte Implantar sem autenticação básica.
O que a opção de identidade atribuída pelo usuário faz para o GitHub Actions?
Quando você seleciona a identidade atribuída pelo usuário na origem do GitHub Actions , o Serviço de Aplicativo configura todos os recursos necessários no Azure e no GitHub. O Serviço de Aplicativo habilita a autenticação recomendada do Microsoft OpenID Connect com o GitHub Actions.
Especificamente, o Serviço de Aplicativo faz as seguintes operações:
- Cria uma credencial federada entre uma identidade atribuída pelo usuário no Azure e o repositório e branch selecionados no GitHub.
- Cria os segredos
AZURE_CLIENT_ID
,AZURE_TENANT_ID
eAZURE_SUBSCRIPTION_ID
da credencial federada no repositório GitHub selecionado. - Atribui a identidade ao seu aplicativo.
Em um fluxo de trabalho do GitHub Actions em seu repositório GitHub, você pode usar a ação Azure/login
para autenticar com seu aplicativo usando o OpenID Connect. Para obter exemplos, confira Adicionar o arquivo de fluxo de trabalho ao repositório GitHub.
Se sua conta do Azure tiver as permissões necessárias, o Serviço de Aplicativo criará uma identidade gerenciada atribuída pelo usuário e a configurará para você. Essa identidade não será mostrada na página Identidades do aplicativo. Se sua conta do Azure não tiver as permissões necessárias, você deverá selecionar uma identidade existente com a função necessária.
Por que vejo o erro "Você não tem permissões suficientes neste aplicativo para atribuir acesso baseado em função a uma identidade gerenciada e configurar credenciais federadas"?
A mensagem indica que sua conta do Azure não tem as permissões necessárias para criar uma identidade gerenciada atribuída pelo usuário para o GitHub Actions. As permissões necessárias (com escopo para seu aplicativo) são:
Microsoft.Authorization/roleAssignments/write
Microsoft.ManagedIdentity/userAssignedIdentities/write
Por padrão, as funções Administrador de Acesso do Usuário e Proprietário já têm essas permissões, mas a função Colaborador não. Se você não tiver as permissões necessárias, trabalhe com o administrador do Azure para criar uma identidade gerenciada atribuída pelo usuário com a função Colaborador de Sites. No Centro de Implantação, você poderá selecionar a identidade na lista suspensa GitHub>Identidade.
Para obter mais informações sobre como usar etapas alternativas, consulte Implantar no Serviço de Aplicativo usando o GitHub Actions.
Por que vejo o erro "Essa identidade não tem permissões de gravação nesse aplicativo. Selecione uma identidade diferente ou trabalhe com o administrador para conceder a função Colaborador do Site à sua identidade neste aplicativo"?
A mensagem indica que a identidade gerenciada atribuída pelo usuário selecionada não tem a função necessária para habilitar o OpenID Connect entre o repositório do GitHub e o aplicativo do Serviço de Aplicativo. A identidade deve ter uma das seguintes funções no aplicativo: Proprietário, Colaborador ou Colaborador de Sites. A função menos privilegiada que a identidade precisa é a de Colaborador de Sites.