Implantação local de Git para Serviço de Aplicações do Azure

Este guia de como usar a sua aplicação para Serviço de Aplicações do Azure de um repositório git no seu computador local.

Pré-requisitos

Para seguir os passos neste guia:

  • Se não tiver uma subscrição do Azure, crie uma conta Azure gratuita antes de começar.

  • Instale Git.

  • Tenha um repositório local de Git com código que queira implementar. Para descarregar um repositório de amostras, execute o seguinte comando na janela do terminal local:

    git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.git
    

Prepare o seu repositório

Para obter construções automatizadas a partir de Serviço de Aplicações do Azure construir servidor, certifique-se de que a raiz do repositório tem os ficheiros corretos no seu projeto.

Runtime Ficheiros de diretório de raiz
ASP.NET (apenas para windows) *.sln, *.csproj, ou padrão.aspx
ASP.NET Core *.sln ou *.csproj
PHP índice.php
Ruby (apenas Linux) Gemfile
Node.js server.js, app.js, ou pacote.json com um script inicial
Python *.py, requirements.txt, ou runtime.txt
HTML default.htm, default.html, padrão.aspindex.htm, index.htmlou iisstart.htm
WebJobs <>job_name/correr.< extensão> sob App_Data/empregos/contínuos para WebJobs contínuos, ou App_Data/jobs/triggered for triggered WebJobs. Para mais informações, consulte a documentação da Kudu WebJobs.
Funções Consulte a implementação contínua para Funções do Azure.

Para personalizar a sua implementação, inclua um ficheiro de .implementação na raiz do repositório. Para obter mais informações, consulte Personalizar as implementações e o script de implementação personalizado.

Nota

Se utilizar o Visual Studio, deixe o Visual Studio criar um repositório para si. O seu projeto estará imediatamente pronto para ser implantado via Git.

Configurar um utilizador de implementação

Consulte as credenciais de configuração para Serviço de Aplicações do Azure. Pode utilizar credenciais de âmbito de utilizador ou de âmbito de aplicação.

Criar uma aplicação ativada por Git

Se já tem uma aplicação Serviço de Aplicações e quer configurar a implementação local do Git para a mesmo, consulte a Configure uma aplicação existente.

Corra 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 um URL como: https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Utilize este URL para implementar a sua aplicação no próximo passo.

Configure uma app existente

Se ainda não criou uma aplicação, consulte uma aplicação ativada para Criar o 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 um URL como: https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Utilize este URL para implementar a sua aplicação no próximo passo.

Dica

Este URL contém o nome de utilizador da implementação do âmbito do utilizador. Se quiser, pode usar as credenciais de aplicação.000 .

Implementar a aplicação web

  1. Numa janela de terminal local, mude o diretório para a raiz do seu repositório Git e adicione um comando Git utilizando o URL que obteve da sua aplicação. Se o seu método escolhido não lhe der um URL, use https://<app-name>.scm.azurewebsites.net/<app-name>.git com o nome da sua aplicação em <app-name>.

    git remote add azure <url>
    

    Nota

    Se criou uma aplicação ativada pelo Git no PowerShell utilizando o New-AzWebApp, o controlo remoto já está criado para si.

  2. Empurre para o comando Azure com git push azure master (ver ramo de implantação Change).

  3. Na janela Git Credential Manager , insira as suas credenciais de alcance de utilizador ou aplicação, e não as suas credenciais de entrada de Azure.

    Se o seu URL remoto Git já contiver o nome de utilizador e a palavra-passe, não será solicitado.

  4. Reveja a saída. Você pode ver automatização específica do tempo de execução, como MSBuild para ASP.NET, npm install para Node.js, e pip install para Python.

  5. Navegue na sua aplicação no portal do Azure para verificar se o conteúdo está implantado.

Alterar ramo de implantação

Quando pressiona compromete-se com o repositório Serviço de Aplicações, Serviço de Aplicações implementa os ficheiros no master ramo por defeito. Porque muitos repositórios de Git estão a mainafastar-se de, tens de master te certificar que empurras para o ramo certo no repositório Serviço de Aplicações de uma de duas maneiras:

  • Implemente explicitamente master com um comando como:

    git push azure main:master
    
  • Mude o ramo de implementação definindo a definição da DEPLOYMENT_BRANCH aplicação e, em seguida, empurre compromete-se com o ramo personalizado. Para fazê-lo com Azure CLI:

    az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main'
    git push azure main
    

    Também pode alterar a definição de DEPLOYMENT_BRANCH aplicação no Portal Azure, selecionando a Configuração em Definições e adicionando uma nova Definição de DEPLOYMENT_BRANCH Aplicação com um nome e valor de main.

Nota

Também pode alterar a DEPLOYMENT_BRANCH utilização da interface do Portal Azure, selecionando o Centro de Implementação em Implementação e modificando o Branch.

Implementação de resolução de problemas

Pode ver as seguintes mensagens de erro comuns quando utiliza o Git para publicar numa aplicação Serviço de Aplicações em Azure:

Mensagem Causa Resolução
Unable to access '[siteURL]': Failed to connect to [scmAddress] A aplicação não está a funcionar. Inicie a aplicação no portal do Azure. A implementação do Git não está disponível quando a aplicação web é interrompida.
Couldn't resolve host 'hostname' As informações de endereço do telecomando "azul" estão incorretas. Utilize o git remote -v comando para listar todos os telecomandos, juntamente com o URL associado. Verifique se o URL do telecomando 'azul' está correto. Se necessário, remova e recrie este telecomando utilizando o URL correto.
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. Não especificou um ramo durante git push, ou não definiu o push.default valor em .gitconfig. Corra git push novamente, especificando o ramo principal: git push azure main.
Error - Changes committed to remote repository but deployment to website failed. Empurrou uma filial local que não corresponde à sucursal de implementação de aplicações em 'azure'. Verifique se o ramo atual está master. Para alterar o ramo predefinido, utilize DEPLOYMENT_BRANCH a definição de aplicação (ver ramo de implementação de alteração).
src refspec [branchname] does not match any. Tentou empurrar para um ramo diferente do principal no controlo remoto do "azul". Corra git push novamente, especificando o ramo principal: git push azure main.
RPC failed; result=22, HTTP code = 5xx. Este erro pode ocorrer se tentar empurrar um repositório de git grande sobre HTTPS. Mude a configuração do git na máquina local para fazer o postBuffer maior. Por exemplo: git config --global http.postBuffer 524288000.
Error - Changes committed to remote repository but your web app not updated. Implementou uma aplicação Node.js com um ficheiro package.json que especifica módulos adicionais necessários. Reveja as npm ERR! mensagens de erro antes deste erro para mais contexto na falha. São as causas conhecidas deste erro e as npm ERR! respetivas mensagens:

Ficheiro pacote.json mal formado: 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\

Recursos adicionais