Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine der einfachsten Methoden zum Bereitstellen von Code stammt von Ihrem lokalen Computer. In diesem Artikel erfahren Sie, wie Sie Ihre App über ein Git-Repository auf Ihrem lokalen Computer in Azure App Service bereitstellen.
Hinweis
Für die lokale Git-Bereitstellung ist die SCM-Standardauthentifizierung (Source Control Manager) erforderlich, was weniger sicher ist als andere Bereitstellungsmethoden. Wenn die Standardauthentifizierung deaktiviert ist, können Sie die lokale Git-Bereitstellung im Bereitstellungscenter der App nicht konfigurieren.
Voraussetzungen
Zur Durchführung der in diesem Artikel aufgeführten Schritte ist Folgendes erforderlich:
Ein Azure-Konto und ein Abonnement mit der Berechtigung zum Erstellen von App-Dienste-Ressourcen. Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Git installiert und ein lokales Git-Repository, das App-Code enthält, der bereitgestellt werden soll.
Sie können ein Beispiel Node.js App-Repository klonen, indem Sie den folgenden Befehl in Ihrem lokalen Bash-Terminalfenster ausführen:
git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.gitWenn Sie die Azure CLI-Befehle verwenden möchten, wird die neueste Version der Azure CLI auf Ihrem lokalen Computer installiert. Melden Sie sich mit az login bei Azure an.
Wenn Sie die Azure PowerShell-Befehle ausführen möchten, ist die neueste Version von Azure PowerShell installiert. Melden Sie sich mit Connect-AzAccount bei Azure an.
Vorbereiten Ihres Repositorys
Um automatisierte Builds vom App Service-Buildserver zu erhalten, stellen Sie sicher, dass Ihr Repositorystamm die richtigen Dateien in Ihrem Projekt enthält.
| Typ | Stammverzeichnisdateien |
|---|---|
| ASP.NET (nur Windows) |
*.sln, *.csproj oder default.aspx. |
| ASP.NET Core |
*.sln oder *.csproj. |
| PHP |
index.php. |
| Ruby (nur Linux) |
Gemfile. |
| Node.js |
server.js, app.js oder package.json mit einem Startskript. |
| Python |
*.py, requirements.txt oder runtime.txt. |
| HTML |
default.htm, default.html, default.asp, index.htm, , index.htmloder iisstart.htm. |
| WebJobs |
<job_name>/run.<extension> unter App_Data/jobs/continuous für fortlaufende WebJobs oder App_Data/jobs/triggered für ausgelöste WebJobs Weitere Informationen finden Sie in der Kudu-Dokumentation zu WebJobs. |
| Funktionen | Siehe Kontinuierliche Bereitstellung für Azure Functions. |
Um Ihre Bereitstellung anzupassen, fügen Sie eine .deployment Datei im Stammverzeichnis des Repositorys ein. Weitere Informationen finden Sie unter Anpassen von Bereitstellungen und Benutzerdefiniertes Bereitstellungsskript.
Tipp
Visual Studio kann ein Repository für Sie erstellen. Mit dieser Methode ist Ihr Projekt sofort für die Bereitstellung über Git bereit.
Benutzeranmeldeinformationen für die Bereitstellung
Sie benötigen Bereitstellungs-Benutzeranmeldeinformationen, um Ihre App zu authentifizieren und bereitzustellen. Diese unterscheiden sich von Ihren Azure-Abonnementanmeldeinformationen, und Sie können entweder Anmeldeinformationen für den Benutzerbereich oder den Anwendungsbereich verwenden.
Ein Benutzer für die benutzerbereichsgebundene Bereitstellung für die lokale Git-Bereitstellung benötigt nur einen Benutzernamen und kein Kennwort. Sie können den Benutzernamen des Benutzerbereichs festlegen, indem Sie den Azure CLI-Befehl az webapp deployment user set --user-name <username> ausführen, oder auf der Registerkarte Lokale Git/FTPS-Anmeldeinformationen des Bereitstellungscenters einer App unter Benutzerbereich.
Nachdem Sie den Bereitstellungsbenutzer für Ihren Benutzerbereich erstellt haben, können Sie ihn für alle App Service-Apps verwenden, auf die Sie Zugriff haben. Weitere Informationen finden Sie unter Konfigurieren von Benutzerbereich-Anmeldeinformationen.
Ein Benutzer für die Bereitstellung im Anwendungsbereich ist spezifisch für die App und wird automatisch erstellt, wenn Sie eine App erstellen. Sie können die für die Bereitstellung zu verwendenden Benutzeranmeldeinformationen für den Anwendungsbereich auf der Registerkarte Lokale Git/FTPS-Anmeldeinformationen im Bereitstellungscenter der App abrufen.
Erstellen und Konfigurieren einer Git-fähigen App
Sie können eine Git-fähige App erstellen und konfigurieren oder lokale Git-Bereitstellung für eine bereits vorhandene App konfigurieren, indem Sie Azure CLI, Azure PowerShell oder das Azure-Portal verwenden.
Um eine neue Web-App zu erstellen, die für die lokale Git-Bereitstellung konfiguriert ist, führen Sie az webapp create mit der
--deployment-local-gitOption aus. Beispiel:az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name myApp --runtime "NODE:24-lts" --deployment-local-gitUm die lokale Git-Bereitstellung für eine bereits vorhandene App zu konfigurieren, führen Sie az webapp deployment source config-local-git aus. Beispiel:
az webapp deployment source config-local-git --name myApp --resource-group myResourceGroup
Jeder Befehl erzeugt eine Ausgabe, die eine URL enthält, z. B.:
Local git is configured with url of 'https://contoso-user@myapp.scm.azurewebsites.net/myApp.git'
Die vorherige URL enthält den Benutzernamen für die bereichsspezifische Nutzungcontoso-user. Wenn Sie keinen Benutzernamen für die Bereitstellung im Benutzerbereich haben, verwendet die URL beispielsweise den https://$myApp@myApp.scm.azurewebsites.net/myApp.git.
Verwenden Sie diese Git-Klon-URL, um Ihre App im nächsten Schritt bereitzustellen.
Bereitstellen der Web-App
Um die App in Azure bereitzustellen, erstellen Sie bei Bedarf einen Remotebranch, stellen Sie sicher, dass Sie in den richtigen Branch bereitstellen, und pushen Sie dann Ihren Code an den Remotebranch.
Erstellen Sie den Remote-Branch
Wenn Sie Azure PowerShell New-AzWebApp zum Erstellen der App aus dem Beispielcode verwendet haben, wurde die azure Remote bereits erstellt. Führen Sie andernfalls die folgenden Anweisungen aus, um die Remoteverbindung zu erstellen:
Ändern Sie in einem lokalen Terminal das Verzeichnis in das Stammverzeichnis Ihres geklonten Git-Repositorys.
Fügen Sie ein Git-Remote mit dem Namen
azuremithilfe Ihrer Git-Klon-URL hinzu. Wenn Sie Ihre Git-Klon-URL nicht kennen, verwenden Siehttps://<app-name>.scm.azurewebsites.net/<app-name>.git.git remote add azure <git-clone-url>
Pushen zum richtigen Branch
App Service-Repositorys stellen standardmäßig Dateien in der master-Verzweigung bereit. Wenn sich Ihre bereits vorhandenen lokalen Dateien im master Branch Ihres Repositorys befinden, können Sie Ihre App jetzt bereitstellen, indem Sie git push azure master ausführen.
Viele Git-Repositorys, einschließlich des Beispielcode-Repositorys für diesen Artikel, verwenden main oder einen anderen Standard-Verzweigungsnamen. Um an den richtigen Branch bereitzustellen, müssen Sie entweder explizit zum Remote-master-Branch bereitstellen oder den Bereitstellungsbranch auf main oder einen anderen Branchnamen ändern und in diesem Branch bereitstellen.
Verwenden Sie den folgenden Befehl master, um explizit aus Ihrem Branch main nach push bereitzustellen:
git push azure main:master
Sie können die DEPLOYMENT_BRANCH-Einstellung Ihrer App auf main ändern und dann direkt an main senden, wie folgt:
Azure CLI:
az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main' git push azure mainAzure-Portal:
- Wählen Sie auf der Portalseite für Ihre App unter "Einstellungen" im linken Navigationsmenü "Umgebungsvariablen" aus.
- Wählen Sie "Hinzufügen" aus, fügen Sie eine Anwendungseinstellung mit dem Namen DEPLOYMENT_BRANCH und dem Hauptwert hinzu, und wählen Sie "Übernehmen" aus.
- Führen Sie
git push azure mainim Terminalfenster aus.
Abschließen und Überprüfen der Bereitstellung
Wenn das Dialogfeld Git-Credential-Manager nach dem Übertragen Ihres Codes angezeigt wird, geben Sie Ihren Benutzernamen und Ihr Kennwort für die Bereitstellung im Benutzer- oder Anwendungsbereich ein. Wenn Ihre Git-Remote-URL bereits die Anmeldeinformationen enthält, werden Sie nicht aufgefordert, sie einzugeben.
Überprüfen Sie die Ausgabe des Befehls push. Möglicherweise sehen Sie laufzeitspezifische Automatisierung, z. B. npm install für Node.js, MSBuild für ASP.NET oder pip install für Python. Wenn Fehler auftreten, siehe Problembehandlung bei der Bereitstellung.
Wechseln Sie zum Azure-Portal, und überprüfen Sie, ob die App erfolgreich bereitgestellt wurde, indem Sie auf der Seite "Übersicht" der App den Link "Standarddomäne" auswählen. Die App sollte in einem Browser-Tab geöffnet werden und Hallo Welt! anzeigen.
Problembehandlung bei der Bereitstellung
Die folgenden allgemeinen Fehler können auftreten, wenn Sie lokale Git verwenden, um sie in einer App Service-App in Azure zu veröffentlichen:
| `Message` | Ursache | Lösung |
|---|---|---|
Unable to access '[siteURL]': Failed to connect to [scmAddress] |
Die App läuft nicht. | Starten Sie die App im Azure-Portal. Die Git-Bereitstellung ist nicht verfügbar, wenn die Web-App beendet wurde. |
Couldn't resolve host 'hostname' |
Die Adressinformationen für das azure-Remoterepository sind falsch. |
Verwenden Sie den git remote -v Befehl, um alle Remotebenutzer und die zugehörigen URLs auflisten. Überprüfen Sie, ob die URL für das azure-Remoterepository korrekt ist. Entfernen Sie bei Bedarf die falsche URL, indem Sie sie verwenden git remote remove , und erstellen Sie dann die Remote mit der richtigen URL neu. |
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. |
Sie haben keinen Branch angegeben, als Sie git push ausgeführt haben, oder Sie haben den Wert push.default in .gitconfig nicht festgelegt. |
Führen Sie git push erneut aus, und geben Sie den richtigen Branch mit git push azure <branch> an. |
Error - Changes committed to remote repository but deployment to website failed. |
Sie haben einen lokalen Branch gepusht, der nicht mit dem App-Bereitstellungsbranch in azure übereinstimmt. |
Überprüfen Sie, ob der aktuelle Branch master ist, oder ändern Sie den Bereitstellungsbranch, indem Sie die Anweisungen unter Pushen in den richtigen Branch befolgen. |
src refspec [branchname] does not match any. |
Sie haben versucht, an einen anderen Branch als main im Remoterepository azure zu pushen. |
Führen Sie den Vorgang git push erneut aus, und geben Sie den Branch main mit git push azure main an. |
RPC failed; result=22, HTTP code = 5xx. |
Sie haben versucht, ein großes Git-Repository über HTTPS zu übertragen. | Ändern Sie die Git-Konfigurationseinstellung auf dem lokalen Computer, um einen höheren Wert für postBuffer festzulegen. Beispiel: git config --global http.postBuffer 524288000. |
Error - Changes committed to remote repository but your web app not updated. |
Sie haben eine Node.js-App mit einer package.json Datei bereitgestellt, die die hinzugefügten erforderlichen Module angibt. | Überprüfen Sie die Fehlermeldungen vom Typ npm ERR! vor diesem Fehler, um mehr Kontext zu erhalten. Die folgenden bekannten Ursachen für diesen Fehler erzeugen die entsprechenden npm ERR! Meldungen:Falsch formatierte „package.json“-Datei: npm ERR! Couldn't read dependencies.Das systemeigene Modul verfügt nicht über eine binäre Verteilung für Windows: npm ERR! \cmd "/c" "node-gyp rebuild"\ failed with 1oder npm ERR! [modulename@version] preinstall: \make \|\| gmake\ |
Verwandte Inhalte
- App Service-Buildserver (Kudu-Projektdokumentation)
- Continuous Deployment in Azure App Service
- Beispiel: Erstellen einer Web-App und Bereitstellen von Code aus einem lokalen Git-Repository (Azure CLI)
- Beispiel: Erstellen einer Web-App und Bereitstellen von Code aus einem lokalen Git-Repository (PowerShell)