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
Ez az üzembe helyezési módszer alapszintű SCM-hitelesítést igényel, amely kevésbé biztonságos, mint a többi üzembe helyezési módszer. Ha 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.
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.js package.json kezdőszkripttel |
Python |
*.py , requirements.txt vagy runtime.txt |
HTML |
default.htm , default.html , default.asp , index.htm , index.html vagy 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. |
Függvények | 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
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.
Leküldés távoli Azure-ba
git push azure master
(lásd: Üzembehelyezési ág módosítása).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.
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 éspip install
a Python esetében.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 master
main
innen, 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 Beállítások területen a Környezeti változók lehetőséget választja, és hozzáad egy új alkalmazásbeállítást, amelynek neveDEPLOYMENT_BRANCH
és értéke.main
Ü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\ |