Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come distribuire l'app nel servizio app di Azure da un repository Git nel computer locale.
Nota
Questo metodo di distribuzione richiede l'autenticazione di base di Gestione controllo del codice sorgente( SCM), che è meno sicura rispetto ad altri metodi di distribuzione. Se la distribuzione Git locale non funziona, non è possibile configurare la distribuzione Git locale nel Centro distribuzione app.
Prerequisiti
Per completare i passaggi descritti in questo articolo:
-
Se non si ha un account Azure, creare un account gratuito prima di iniziare.
Disporre di un repository Git locale con codice da distribuire. Per scaricare un repository di esempio, eseguire il comando seguente nella finestra del terminale locale:
git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.git
Preparare il repository
Per ottenere compilazioni automatizzate dal server di compilazione di App Service, assicurarsi che la radice del repository contenga i file corretti nel tuo progetto.
esecuzione | File della directory radice |
---|---|
ASP.NET (solo Windows) |
*.sln , *.csproj o default.aspx . |
ASP.NET Nucleo |
*.sln o *.csproj . |
PHP |
index.php . |
Ruby (solo Linux) |
Gemfile . |
Node.js |
server.js , app.js o package.json con uno script iniziale. |
Pitone |
*.py , requirements.txt o runtime.txt . |
HTML |
default.htm , default.html , default.asp , index.htm index.html , o iisstart.htm . |
Processi Web |
<job_name>/run.<extension> in App_Data/jobs/continuous per WebJobs continui o App_Data/jobs/triggered per i WebJobs attivati. Per altre informazioni, vedere la documentazione dei processi Web Kudu. |
Funzioni | Vedere Distribuzione continua per Funzioni di Azure. |
Per personalizzare la distribuzione, includere un .deployment
file nella radice del repository. Per altre informazioni, vedere Personalizzare le distribuzioni e Script di distribuzione personalizzato.
Suggerimento
Visual Studio può creare automaticamente un repository. Con questo metodo, il progetto è immediatamente pronto per la distribuzione tramite Git.
Configurare un utente della distribuzione
Informazioni su come configurare le credenziali di distribuzione per il servizio app di Azure. È possibile usare le informazioni di accesso dell'ambito utente o le informazioni di accesso nell'ambito dell'applicazione.
Creare un'app abilitata per Git
Se si ha già un'app del servizio app e si vuole configurare una distribuzione Git locale per l'app, vedere Configurare invece un'app esistente .
Eseguire az webapp create con l'opzione --deployment-local-git
.
Ad esempio:
az webapp create --resource-group <group-name> --plan <plan-name> --name <app-name> --runtime "<runtime-flag>" --deployment-local-git
L'output contiene un URL come l'esempio https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Usare questo URL per distribuire l'app nel passaggio successivo.
Configurare un'app esistente
Se non si ha ancora un'app, iniziare a creare un'app abilitata per Git.
Eseguire az webapp deployment source config-local-git.
Ad esempio:
az webapp deployment source config-local-git --name <app-name> --resource-group <group-name>
L'output contiene un URL come l'esempio https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Usare questo URL per distribuire l'app nel passaggio successivo.
Suggerimento
Questo URL contiene il nome utente della distribuzione dell'ambito utente. È invece possibile usare le informazioni di accesso all'ambito dell'applicazione .
Distribuire l'app Web
In una finestra del terminale locale, cambia la directory alla radice del tuo repository Git. Aggiungere un git remoto usando l'URL dell'app. Se il metodo usato non fornisce un URL, usare
https://<app-name>.scm.azurewebsites.net/<app-name>.git
con il nome dell'app.git remote add azure <url>
Nota
Se hai creato un'app con supporto Git in PowerShell usando New-AzWebApp, il repository remoto è già stato creato.
Eseguire il push nel ramo remoto di Azure utilizzando
git push azure master
.Per altre informazioni, vedere Modificare il ramo di distribuzione.
Nella finestra di dialogo Git Credential Manager immettere le informazioni di accesso dell'ambito utente o dell'ambito dell'applicazione, non le informazioni di accesso di Azure.
Se l'URL remoto Git contiene già il nome utente e la password, non viene richiesto di immetterli.
Esaminare l'output. È possibile che venga visualizzata l'automazione specifica del runtime, ad esempio MSBuild per ASP.NET, npm install per Node.jso pip install per Python.
Nel portale di Azure, vai alla tua app per verificare che il contenuto sia distribuito.
Modificare il ramo di distribuzione
Quando si esegue il push dei commit nel repository del Servizio app di Azure, il Servizio app di Azure distribuisce i file nel ramo master
per impostazione predefinita. Poiché molti repository Git passano da master
a main
, assicurarsi di eseguire il push nel ramo corretto nel repository del servizio app in uno dei due modi seguenti:
Distribuire esplicitamente su
master
eseguendo un comando come mostrato nell'esempio seguente:git push azure main:master
Modificare il ramo di distribuzione impostando l'impostazione dell'app
DEPLOYMENT_BRANCH
, quindi eseguire il push dei commit nel ramo personalizzato.A tale scopo, usare l'interfaccia della riga di comando di Azure:
az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main' git push azure main
È anche possibile modificare l'impostazione dell'app
DEPLOYMENT_BRANCH
nel portale di Azure:- In Impostazioni selezionare Variabili di ambiente.
- Aggiungere un'impostazione dell'app con il nome
DEPLOYMENT_BRANCH
e il valoremain
.
Risolvere i problemi di distribuzione
Quando si usa Git per pubblicare in un'app del Servizio app di Azure, potrebbero essere visualizzati i messaggi di errore comuni seguenti:
Messaggio | Causa | Risoluzione |
---|---|---|
Unable to access '[siteURL]': Failed to connect to [scmAddress] |
L'app non è in esecuzione. | Nel portale di Azure avviare l'app. Se l'app Web viene arrestata, la distribuzione Git non è disponibile. |
Couldn't resolve host 'hostname' |
Le informazioni sull'indirizzo per azure remoto non sono corrette. |
Usare il git remote -v comando per elencare tutti gli URL remoti e i relativi URL associati. Verificare che l'URL di azure remoto sia corretto. Se necessario, rimuovere e quindi ricreare questo remoto usando l'URL corretto. |
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. |
Non è stato specificato un ramo quando è stato eseguito git push o non è stato impostato il valore push.default in .gitconfig . |
Eseguire git push di nuovo e specificare il ramo principale: git push azure main . |
Error - Changes committed to remote repository but deployment to website failed. |
È stato eseguito il push di un ramo locale che non corrisponde al ramo di distribuzione dell'app in azure . |
Verificare che il ramo corrente sia master . Per modificare il ramo predefinito, usare l'impostazione dell'applicazione DEPLOYMENT_BRANCH . Per altre informazioni, vedere Modificare il ramo di distribuzione. |
src refspec [branchname] does not match any. |
Hai tentato di eseguire il push su un ramo diverso da main sul remoto azure . |
Eseguire git push di nuovo e specificare il ramo principale: git push azure main . |
RPC failed; result=22, HTTP code = 5xx. |
Questo errore può verificarsi se si tenta di eseguire il push di un repository Git di grandi dimensioni su HTTPS. | Modificare la configurazione git nel computer locale per impostare un valore superiore per postBuffer . Ad esempio: git config --global http.postBuffer 524288000 . |
Error - Changes committed to remote repository but your web app not updated. |
È stata distribuita un'app Node.js con un file package.json che specifica moduli aggiuntivi obbligatori. | Esaminare i npm ERR! messaggi di errore visualizzati prima di questo errore per un maggiore contesto. Le cause seguenti sono cause note di questo errore e dei messaggi corrispondenti npm ERR! :file package.json non valido: npm ERR! Couldn't read dependencies. Modulo nativo senza una distribuzione binaria per Windows: npm ERR! \cmd "/c" "node-gyp rebuild"\ failed with 1 o npm ERR! [modulename@version] preinstall: \make \|\| gmake\ |
Contenuti correlati
- Server di compilazione del Servizio app di Azure (documentazione Project Kudu)
- Distribuzione continua nel servizio app di Azure
- Esempio: creare un'app Web e distribuire il codice da un repository Git locale (interfaccia della riga di comando di Azure)
- Esempio: creare un'app Web e distribuire il codice da un repository Git locale (PowerShell)