Helyi Git-üzembe helyezés a Azure-alkalmazás szolgáltatásban

Ez az útmutató bemutatja, hogyan helyezheti üzembe az alkalmazást Azure-alkalmazás Szolgáltatásban a helyi számítógépen található Git-adattárból.

Feljegyzés

Ha az SCM alapszintű hitelesítése le van tiltva, a helyi Git-telepítés nem működik, és nem konfigurálhatja a helyi Git-telepítést az alkalmazás Központi telepítési központjában.

Előfeltételek

Az útmutató lépéseit követve:

  • Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

  • Telepítse a Git szoftvert.

  • Rendelkezik egy helyi Git-adattárral az üzembe helyezni kívánt kóddal. Mintaadattár letöltéséhez futtassa a következő parancsot a helyi terminálablakban:

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

Az adattár előkészítése

Ha automatikus buildeket szeretne lekérni Azure-alkalmazás szolgáltatás buildkiszolgálójáról, győződjön meg arról, hogy az adattár gyökerében a megfelelő fájlok találhatók a projektben.

Futtatókörnyezet Gyökérkönyvtár-fájlok
ASP.NET (csak Windows rendszeren) *.sln, *.csproj vagy default.aspx
ASP.NET Core *.sln vagy *.csproj
PHP index.php
Ruby (csak Linuxon) Gemfile
Node.js server.js, vagy app.jspackage.json kezdőszkripttel
Python *.py, requirements.txt vagy runtime.txt
HTML default.htm, default.html, default.asp, index.htm, index.htmlvagy iisstart.htm
WebJobs <job_name>/run.<extension> alatt App_Data/jobs/continuous folyamatos WebJobs- vagy App_Data/jobs/triggered aktivált WebJobs-feladatokhoz. További információt a Kudu WebJobs dokumentációjában talál.
Functions Tekintse meg az Azure Functions folyamatos üzembe helyezését.

Az üzembe helyezés testreszabásához adjon meg egy .deployment fájlt az adattár gyökerében. További információ: Az üzembe helyezés testreszabása és az egyéni üzembehelyezési szkript.

Feljegyzés

Ha a Visual Studiót használja, hozzon létre egy adattárat a Visual Studio számára. A projekt azonnal készen áll az üzembe helyezésre a Giten keresztül.

Üzembe helyező felhasználó konfigurálása

Lásd: Üzembehelyezési hitelesítő adatok konfigurálása Azure-alkalmazás szolgáltatáshoz. Használhat felhasználói hatókörű hitelesítő adatokat vagy alkalmazáshatókörű hitelesítő adatokat.

Git-kompatibilis alkalmazás létrehozása

Ha már rendelkezik App Service-alkalmazással, és helyi Git-üzembe helyezést szeretne konfigurálni hozzá, tekintse meg a Meglévő alkalmazás konfigurálása című témakört.

Futtassa az webapp create a --deployment-local-git lehetőséget. Példa:

az webapp create --resource-group <group-name> --plan <plan-name> --name <app-name> --runtime "<runtime-flag>" --deployment-local-git

A kimenet egy URL-címet tartalmaz, például: https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Használja ezt az URL-címet az alkalmazás üzembe helyezéséhez a következő lépésben.

Meglévő alkalmazás konfigurálása

Ha még nem rendelkezik alkalmazással, olvassa el helyette a Git-kompatibilis alkalmazás létrehozása című témakört.

Futtassa az az webapp deployment source config-local-git parancsot. Példa:

az webapp deployment source config-local-git --name <app-name> --resource-group <group-name>

A kimenet egy URL-címet tartalmaz, például: https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Használja ezt az URL-címet az alkalmazás üzembe helyezéséhez a következő lépésben.

Tipp.

Ez az URL-cím tartalmazza a felhasználó hatókörű üzembehelyezési felhasználónevét. Tetszés szerint használhatja az alkalmazás hatókörű hitelesítő adatait .

A webalkalmazás üzembe helyezése

  1. Egy helyi terminálablakban módosítsa a könyvtárat a Git-adattár gyökerére, és adjon hozzá egy Git-távolit az alkalmazástól kapott URL-cím használatával. Ha a választott módszer nem ad MEG URL-címet, használja https://<app-name>.scm.azurewebsites.net/<app-name>.git az alkalmazás nevét a következőben <app-name>: .

    git remote add azure <url>
    

    Feljegyzés

    Ha Git-kompatibilis alkalmazást hozott létre a PowerShellben a New-AzWebApp használatával, a távoli alkalmazás már létrejön Önnek.

  2. Leküldés távoli Azure-ba git push azure master (lásd: Üzembehelyezési ág módosítása).

  3. A Git Credential Manager ablakban adja meg a felhasználó vagy az alkalmazás hatókörének hitelesítő adatait, nem az Azure bejelentkezési hitelesítő adatait.

    Ha a Git távoli URL-címe már tartalmazza a felhasználónevet és a jelszót, a rendszer nem fogja kérni.

  4. Tekintse át a kimenetet. Futtatókörnyezet-specifikus automatizálást láthat, például az MSBuildet a ASP.NET, npm install a Node.js és pip install a Python esetében.

  5. Az Azure Portalon keresse meg az alkalmazást a tartalom üzembe helyezésének ellenőrzéséhez.

Üzembehelyezési ág módosítása

Amikor leküldi a véglegesítéseket az App Service-adattárba, az App Service alapértelmezés szerint telepíti a fájlokat az master ágban. Mivel számos Git-adattár eltávozik mastermaininnen, az App Service-adattárban a megfelelő ágra kell leküldnie az egyiket:

  • master Üzembe helyezés explicit módon a következő parancsokkal:

    git push azure main:master
    
  • Módosítsa az üzembehelyezési ágat az DEPLOYMENT_BRANCH alkalmazásbeállítás beállításával, majd küldje le a véglegesítéseket az egyéni ágba. Ezt az Azure CLI-vel teheti meg:

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

    Az alkalmazásbeállítást az DEPLOYMENT_BRANCH Azure Portalon is módosíthatja, ha a Konfiguráció lehetőséget választja a Gépház területen, és hozzáad egy új alkalmazásbeállítást egy névvel DEPLOYMENT_BRANCH és értékkelmain.

Üzemelő példány hibaelhárítása

Az alábbi gyakori hibaüzenetek jelenhetnek meg, amikor a Git használatával tesz közzé egy App Service-alkalmazásban az Azure-ban:

Üzenet Ok Resolution (Osztás)
Unable to access '[siteURL]': Failed to connect to [scmAddress] Az alkalmazás nem működik. Indítsa el az alkalmazást az Azure Portalon. A Git üzembe helyezése nem érhető el a webalkalmazás leállításakor.
Couldn't resolve host 'hostname' A távoli címadatok azure helytelenek. A paranccsal listázhatja az git remote -v összes távoli elemet, valamint a társított URL-címet. Ellenőrizze, hogy a azure távoli URL-cím helyes-e. Szükség esetén távolítsa el és hozza létre újra ezt a távoli eszközt a megfelelő URL-cím használatával.
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. Nem adott meg ágat a program során git push, vagy nem állította be az értéket a push.default következőben .gitconfig: . Futtassa git push újra, és adja meg a fő ágat: git push azure main.
Error - Changes committed to remote repository but deployment to website failed. Leküldött egy helyi ágat, amely nem egyezik az alkalmazás üzembe helyezési ágával.azure Ellenőrizze, hogy az aktuális ág van-e master. Az alapértelmezett ág módosításához használja DEPLOYMENT_BRANCH az alkalmazásbeállítást (lásd: Üzembehelyezési ág módosítása).
src refspec [branchname] does not match any. A távoli fő ágtól eltérő ágra próbált leküldni azure . Futtassa git push újra, és adja meg a fő ágat: git push azure main.
RPC failed; result=22, HTTP code = 5xx. Ez a hiba akkor fordulhat elő, ha egy nagy Git-adattárat próbál leküldni HTTPS-en keresztül. Módosítsa a git konfigurációját a helyi gépen, hogy nagyobb postBuffer legyen. Például: git config --global http.postBuffer 524288000
Error - Changes committed to remote repository but your web app not updated. Üzembe helyezett egy Node.js alkalmazást egy package.json fájllal, amely további szükséges modulokat határoz meg. Tekintse át a npm ERR! hibaüzeneteket a hiba előtt, és tekintse át a hiba kontextusát. A hiba ismert okai és a megfelelő npm ERR! üzenetek a következők:

Hibásan formázott package.json fájl: npm ERR! Couldn't read dependencies.

A natív modul nem rendelkezik bináris disztribúcióval Windows esetén:
npm ERR! \cmd "/c" "node-gyp rebuild"\ failed with 1
vagy
npm ERR! [modulename@version] preinstall: \make || gmake\

További erőforrások