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.
Uma das maneiras mais simples de implantar código é do computador local. Este artigo mostra como implantar seu aplicativo no Azure App Service a partir de um repositório Git no seu computador local.
Observação
A implantação local do Git requer autenticação básica do SCM (Source Control Manager), que é menos segura do que outros métodos de implantação. Se a autenticação básica estiver desabilitada, você não poderá configurar a implantação local do Git no Centro de Implantação do aplicativo.
Pré-requisitos
Para completar as etapas neste artigo, você precisa:
Uma conta e uma assinatura do Azure com permissão para criar recursos dos Serviços de Aplicativo. Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Git instalado e um repositório Git local que contém o código do aplicativo a ser implantado.
Você pode clonar um exemplo Node.js repositório de aplicativos executando o seguinte comando na janela do terminal do Bash local:
git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.gitSe você quiser usar os comandos da CLI do Azure, a versão mais recente da CLI do Azure instalada em seu computador local. Entre no Azure usando az login.
Se você quiser executar os comandos do Azure PowerShell, a versão mais recente do Azure PowerShell será instalada. Entre no Azure usando Connect-AzAccount.
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 de WebJobs do Kudu. |
| Functions | Confira Implantação contínua para 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.
Credenciais do usuário de implantação
Você precisa de credenciais de usuário de implantação para autenticar e implantar seu aplicativo. Elas são diferentes das credenciais de assinatura do Azure e você pode usar credenciais de escopo de usuário ou de aplicativo .
Um usuário de implantação de escopo de usuário para implantação local do Git precisa apenas de um nome de usuário, não de uma senha. Você pode definir o nome de usuário no escopo de usuário executando o comando az webapp deployment user set --user-name <username> da CLI do Azure, ou sob Escopo de Usuário na guia Credenciais Locais do Git/FTPS do Centro de Implantação de um aplicativo.
Depois de criar seu usuário de implantação de escopo de usuário, você poderá usá-lo para todos os aplicativos do Serviço de Aplicativo aos quais você tem acesso. Para obter mais informações, consulte Configurar credenciais de escopo de usuário.
Um usuário de implantação de escopo de aplicativo é específico do aplicativo e é criado automaticamente ao criar um aplicativo. Você pode obter as credenciais de usuário do escopo do aplicativo a serem usadas para implantação na guia Credenciais locais do Git/FTPS no Centro de Implantação do aplicativo.
Criar e configurar um aplicativo habilitado para Git
Você pode criar e configurar um aplicativo habilitado para Git ou configurar a implantação local do Git para um aplicativo pré-existente usando a CLI do Azure, o Azure PowerShell ou o portal do Azure.
Para criar um novo aplicativo Web configurado para implantação local do Git, execute az webapp create com a opção
--deployment-local-git. Por exemplo:az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name myApp --runtime "NODE:24-lts" --deployment-local-gitPara configurar a implantação local do Git para um aplicativo já existente, execute az webapp deployment source config-local-git. Por exemplo:
az webapp deployment source config-local-git --name myApp --resource-group myResourceGroup
Qualquer um dos comandos produz uma saída que inclui uma URL, como:
Local git is configured with url of 'https://contoso-user@myapp.scm.azurewebsites.net/myApp.git'
A URL anterior contém o nome de usuário de implantação de escopo de usuáriocontoso-user. Se você não tiver um nome de usuário de implantação de escopo de usuário, a URL usará o nome de usuário do escopo do aplicativo, por exemplo https://$myApp@myApp.scm.azurewebsites.net/myApp.git.
Use essa URL de clone do Git para implantar seu aplicativo na próxima etapa.
Implantar o aplicativo Web
Para implantar o aplicativo no Azure, crie um branch remoto, se necessário, verifique se você está implantando no branch correto e, em seguida, envie seu código por push para o remoto.
Criar o ramo remoto
Se você usou o Azure PowerShell New-AzWebApp para criar o aplicativo a partir do código de exemplo, o azure remoto já foi criado. Caso contrário, siga estas instruções para criar o remoto:
Em um terminal local, altere o diretório para a raiz do repositório Git clonado.
Adicione um Git remoto nomeado
azureusando a URL do clone do Git. Se você não souber a URL do clone do Git, usehttps://<app-name>.scm.azurewebsites.net/<app-name>.git.git remote add azure <git-clone-url>
Enviar por push para o branch correto
Os repositórios do Serviço de Aplicativo implantam arquivos no master branch por padrão. Se os arquivos locais pré-existentes estiverem no master branch do repositório, agora você poderá implantar seu aplicativo executando git push azure master.
No entanto, muitos repositórios Git, incluindo o repositório de código de exemplo para este artigo, usam main ou outro nome de branch padrão. Para implantar no ramo correto, você deve implantar explicitamente no ramo remoto master ou alterar o ramo de implantação para main ou outro nome de ramo e implantar nesse ramo.
Implante explicitamente em master do seu main branch usando o seguinte comando push:
git push azure main:master
Ou altere a configuração do aplicativo do DEPLOYMENT_BRANCH aplicativo para main e, em seguida, envie por push diretamente para main, da seguinte maneira:
CLI do Azure:
az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main' git push azure mainPortal do Azure:
- Na página do portal do aplicativo, selecione Variáveis de ambiente em Configurações no menu de navegação à esquerda.
- Selecione Adicionar, adicione uma configuração de aplicativo com o nome DEPLOYMENT_BRANCH e o valor principal e selecione Aplicar.
- Na janela do terminal, execute
git push azure main
Concluir e verificar a implantação
Se a caixa de diálogo Gerenciador de Credenciais do Git for exibida depois que você enviar seu código por push, insira o nome de usuário de implantação do escopo do usuário ou o nome de usuário e a senha do escopo do aplicativo. Se a URL remota do Git já contiver as informações de entrada, você não será solicitado a inseri-la.
Examine a saída do push comando. Você pode ver a automação específica do runtime, como npm install para Node.js, MSBuild para ASP.NET ou pip install para Python. Se você receber erros, consulte Solucionar problemas de implantação.
Vá para o portal do Azure e verifique se o aplicativo foi implantado com êxito selecionando o link de domínio Padrão na página visão geral do aplicativo. O aplicativo deve abrir em uma guia do navegador e exibir Hello World!.
Solucionar problemas de implantação
Os seguintes erros comuns podem ocorrer quando você usa o Git local para publicar em um aplicativo do Serviço de Aplicativo no Azure:
| Mensagem | Causa | Resolução |
|---|---|---|
Unable to access '[siteURL]': Failed to connect to [scmAddress] |
O aplicativo não está em execução. | No portal do Azure, inicie o aplicativo. A implantação do Git não está disponível quando o aplicativo Web é interrompido. |
Couldn't resolve host 'hostname' |
As informações de endereço para o azure remoto estão incorretas. |
Use o git remote -v comando para listar todos os controles remotos e suas URLs associadas. Verifique se a URL do azure remoto está correta. Se necessário, remova a URL incorreta usando git remote remove e recrie o remoto com a URL correta. |
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. |
Você não especificou um "branch" quando executou git push ou não definiu o valor de push.default em .gitconfig. |
Execute git push novamente e especifique o branch correto com git push azure <branch>. |
Error - Changes committed to remote repository but deployment to website failed. |
Você efetuou push de uma branch local que não corresponde ao branch de implantação do aplicativo no azure. |
Verifique se o branch atual está master ou altere o branch de implantação seguindo as instruções em Push para o branch correto. |
src refspec [branchname] does not match any. |
Você tentou efetuar push para um branch diferente de main no azure remoto. |
Execute git push novamente e especifique o main branch com git push azure main. |
RPC failed; result=22, HTTP code = 5xx. |
Você tentou enviar por push um repositório Git grande por HTTPS. | Altere a configuração do git no computador local para definir um valor mais alto para postBuffer. Por exemplo: git config --global http.postBuffer 524288000. |
Error - Changes committed to remote repository but your web app not updated. |
Você implantou um aplicativo Node.js com um arquivo package.json que especifica os módulos necessários adicionados. | Examine as npm ERR! mensagens de erro exibidas antes desse erro para obter mais contexto. As seguintes causas conhecidas desse erro produzem as mensagens correspondentes npm ERR! :Arquivo malformado package.json: npm ERR! Couldn't read dependencies.O módulo nativo não tem uma distribuição binária para Windows: npm ERR! \cmd "/c" "node-gyp rebuild"\ failed with 1ou npm ERR! [modulename@version] preinstall: \make \|\| gmake\ |
Conteúdo relacionado
- Servidor de build do Serviço de Aplicativo (documentação do Project Kudu)
- Implantação contínua no Serviço de Aplicativo do Azure
- Exemplo: Criar aplicativo Web e implantar código de implantação de um repositório Git local (CLI do Azure)
- Exemplo: Criar aplicativo Web e implantar código de implantação de um repositório Git local (PowerShell)