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.
Este artigo mostra como implantar seu aplicativo no Azure App Service a partir de um repositório Git no seu computador local.
Observação
Esse método de implantação requer autenticação básica do SCM (Source Control Manager), que é menos segura do que outros métodos de implantação. Se a implantação local do Git não funcionar, você não poderá configurar a implantação local do Git no Centro de Implantação do aplicativo.
Pré-requisitos
Para concluir as etapas descritas neste artigo:
-
Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Tenha um repositório Git local com código para implantar. Para baixar um repositório de amostra, execute o seguinte comando na janela do terminal local:
git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.git
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 Núcleo |
*.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. |
Pitão |
*.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. |
Funções | 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.
Configurar um usuário de implantação
Saiba como configurar credenciais de implantação para o Serviço de Aplicativo do Azure. Você pode usar as informações de entrada no escopo do usuário ou as informações de entrada no escopo do aplicativo.
Criar um aplicativo habilitado para Git
Se você já tiver um aplicativo do Serviço de Aplicativo e quiser configurar uma implantação local do Git para o aplicativo, consulte Configurar um aplicativo existente .
Execute az webapp create com a opção --deployment-local-git
.
Por exemplo:
az webapp create --resource-group <group-name> --plan <plan-name> --name <app-name> --runtime "<runtime-flag>" --deployment-local-git
A saída contém uma URL como o exemplo https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Use essa URL para implantar seu aplicativo na próxima etapa.
Configurar um aplicativo existente
Se você ainda não tiver um aplicativo, comece a criar um aplicativo habilitado para Git.
Execute az webapp deployment source config-local-git.
Por exemplo:
az webapp deployment source config-local-git --name <app-name> --resource-group <group-name>
A saída contém uma URL como o exemplo https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Use essa URL para implantar seu aplicativo na próxima etapa.
Dica
Essa URL contém o nome de usuário de implantação de escopo do usuário. Em vez disso, você pode usar informações de login no escopo do aplicativo.
Implantar o aplicativo Web
Em uma janela de terminal local, altere o diretório para a raiz do repositório Git. Adicione um git remoto usando a URL do seu aplicativo. Se o método usado não fornecer uma URL, use
https://<app-name>.scm.azurewebsites.net/<app-name>.git
com o nome do aplicativo.git remote add azure <url>
Observação
Se você criou um aplicativo habilitado para Git no PowerShell usando o New-AzWebApp, o remoto já será criado.
Efetue um push para o branch remoto do Azure executando
git push azure master
.Para obter mais informações, consulte Alterar o ramo de implantação.
Na caixa de diálogo do Git Credential Manager, insira as informações de entrada de escopo de usuário ou de escopo de aplicativo, não as informações de entrada do Azure.
Se a URL remota do Git já contiver seu nome de usuário e senha, você não será solicitado a inseri-los.
Examine a saída. Você pode ver a automação específica do runtime, como o MSBuild para ASP.NET, a instalação do npm para Node.jsou a instalação do pip para Python.
No portal do Azure, acesse seu aplicativo para verificar se o conteúdo foi implantado.
Alterar o branch de implantação
Quando você enviar confirmações por push para o repositório do Serviço de Aplicativo, o Serviço de Aplicativo implantará os arquivos na ramificação master
por padrão. Como muitos repositórios Git estão mudando de master
para main
, certifique-se de efetuar push para o branch correto no repositório do Serviço de Aplicativo de uma das duas maneiras:
Implante explicitamente em
master
executando um comando como mostrado neste exemplo:git push azure main:master
Altere o branch de implantação ajustando a configuração do aplicativo
DEPLOYMENT_BRANCH
e, em seguida, envie commits para o branch personalizado.Para fazer isso usando a CLI do Azure:
az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main' git push azure main
Você também pode alterar a configuração do
DEPLOYMENT_BRANCH
aplicativo no portal do Azure:- Em Configurações, selecione Variáveis de ambiente.
- Adicione uma configuração de aplicativo que tenha o nome
DEPLOYMENT_BRANCH
e o valormain
.
Solucionar problemas de implantação
Você pode ver as seguintes mensagens de erro comuns ao usar o Git 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 e crie novamente esse controle remoto usando 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 uma ramificação quando executou git push ou não definiu o valor de push.default em .gitconfig . |
Execute git push novamente e especifique o branch principal: git push azure main . |
Error - Changes committed to remote repository but deployment to website failed. |
Você efetuou push em uma ramificação local que não corresponde à ramificação de implantação de aplicativo no azure . |
Verifique se o branch atual é master . Para alterar o ramo padrão, use a configuração de aplicativo DEPLOYMENT_BRANCH . Para obter mais informações, confira Alterar branch de implantação. |
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 branch principal: git push azure main . |
RPC failed; result=22, HTTP code = 5xx. |
Esse erro poderá ocorrer se você tentar fazer push de 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 do Node.js com um arquivo package.json que especifica os módulos adicionais necessários. | Examine as npm ERR! mensagens de erro exibidas antes desse erro para obter mais contexto. As seguintes causas são causas conhecidas desse erro e 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 o Windows: npm ERR! \cmd "/c" "node-gyp rebuild"\ failed with 1 ou 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)