Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A kód üzembe helyezésének egyik legegyszerűbb módja a helyi számítógép. Ez a cikk bemutatja, hogyan helyezheti üzembe az alkalmazást az Azure App Service-ben a helyi számítógépen található Git-adattárból.
Megjegyzés:
A helyi Git-telepítéshez alapszintű Source Control Manager (SCM) hitelesítés szükséges, amely kevésbé biztonságos, mint a többi üzembe helyezési módszer. Ha az alapszintű hitelesítés le van tiltva, nem konfigurálhatja a helyi Git-telepítést az alkalmazás Központi telepítési központjában.
Előfeltételek
A cikkben ismertetett lépések végrehajtásához a következőkre van szükség:
Egy Azure-fiók és előfizetés az App Services-erőforrások létrehozására való engedéllyel. Ha még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.
A Git telepítve van, és egy helyi Git-adattár, amely az üzembe helyezendő alkalmazáskódot tartalmazza.
A helyi Bash-terminálablakban az alábbi parancs futtatásával klónozhat egy minta Node.js alkalmazás-adattárat:
git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.git
Ha az Azure CLI-parancsokat szeretné használni, az Azure CLI legújabb verziója telepítve van a helyi gépen. Jelentkezzen be az Azure-ba az login használatával.
Ha az Azure PowerShell-parancsokat szeretné futtatni, az Azure PowerShell legújabb verziója van telepítve. Jelentkezzen be az Azure-ba a Connect-AzAccount használatával.
Az adattár előkészítése
Ha automatikus buildeket szeretne lekérni az App Service buildkiszolgáló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.
Futási idő | Gyökérkönyvtár-fájlok |
---|---|
ASP.NET (csak Windows rendszeren) |
*.sln , vagy *.csproj default.aspx . |
ASP.NET Core |
*.sln vagy *.csproj . |
PHP |
index.php . |
Ruby (csak Linuxon) |
Gemfile . |
Node.js |
server.js , app.js vagy package.json indítási szkripttel. |
Piton |
*.py , vagy requirements.txt 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 WebJobokhoz, vagy App_Data/jobs/triggered indított WebJobokhoz. További információt a Kudu WebJobs dokumentációjában talál. |
Funkciók | 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.
Jótanács
A Visual Studio létrehozhat önnek egy adattárat. Ezzel a módszerrel a projekt azonnal készen áll az üzembe helyezésre a Giten keresztül.
Üzembehelyezési felhasználói hitelesítő adatok
Az alkalmazás hitelesítéséhez és üzembe helyezéséhez üzembe helyezési felhasználói hitelesítő adatokra van szükség. Ezek eltérnek az Azure-előfizetés hitelesítő adataitól, és használhat felhasználó- vagy alkalmazáshatókörű hitelesítő adatokat.
A helyi Git-telepítés felhasználói hatókörű üzembehelyezési felhasználójának csak felhasználónévre, nem jelszóra van szüksége. A felhasználói hatókör felhasználónevét az Azure CLI parancs futtatásávalaz webapp deployment user set --user-name <username>
, vagy az alkalmazás Központi telepítési központjánakHelyi Git/FTPS hitelesítő adatai lapján a Felhasználó hatóköre területen állíthatja be.
Miután létrehozta a felhasználói hatókörű üzembehelyezési felhasználót, minden olyan App Service-alkalmazáshoz használhatja, amelyhez hozzáféréssel rendelkezik. További információ: Felhasználói hatókörű hitelesítő adatok konfigurálása.
Az alkalmazás hatókörű üzembehelyezési felhasználója alkalmazásspecifikus, és automatikusan létrejön egy alkalmazás létrehozásakor. Az alkalmazás hatókörébe tartozó felhasználói hitelesítő adatokat az alkalmazás központi telepítési központjában, a Helyi Git/FTPS hitelesítő adatok lapon szerezheti be.
Git-kompatibilis alkalmazás létrehozása és konfigurálása
Létrehozhat és konfigurálhat Egy Git-kompatibilis alkalmazást, vagy konfigurálhat helyi Git-üzembe helyezést egy már meglévő alkalmazáshoz az Azure CLI, az Azure PowerShell vagy az Azure Portal használatával.
A helyi Git-telepítéshez konfigurált új webalkalmazás létrehozásához futtassa az az webapp create parancsot a
--deployment-local-git
beállítással. Példa:az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name myApp --runtime "NODE:20-lts" --deployment-local-git
Ha helyi Git-telepítést szeretne konfigurálni egy már meglévő alkalmazáshoz, futtassa az az webapp deployment source config-local-git parancsot. Példa:
az webapp deployment source config-local-git --name myApp --resource-group myResourceGroup
Bármelyik parancs olyan kimenetet hoz létre, amely tartalmaz egy URL-címet, például:
Local git is configured with url of 'https://contoso-user@myapp.scm.azurewebsites.net/myApp.git'
Az előző URL-cím tartalmazza a felhasználói hatókör üzembe helyezésének felhasználónevétcontoso-user
. Ha nem rendelkezik felhasználói hatókörű üzembehelyezési felhasználónévvel, az URL-cím az alkalmazás hatókörének felhasználónevét használja, például https://$myApp@myApp.scm.azurewebsites.net/myApp.git
.
Ezzel a Git-klón URL-címével üzembe helyezheti az alkalmazást a következő lépésben.
A webalkalmazás üzembe helyezése
Az alkalmazás Azure-ban való üzembe helyezéséhez szükség esetén hozzon létre egy távoli ágat, győződjön meg arról, hogy a megfelelő ágon helyezi üzembe, majd leküldi a kódot a távolira.
A távoli ág létrehozása
Ha az Azure PowerShell használatával New-AzWebApp
hozta létre az alkalmazást a mintakódból, a azure
távoli verzió már létrejött. Ellenkező esetben kövesse az alábbi utasításokat a távoli kapcsolat létrehozásához:
Helyi terminálon módosítsa a címtárat a klónozott Git-adattár gyökerére.
Adjon hozzá egy Git távoli tárolót
azure
a Git klón URL használatával. Ha nem ismeri a Git-klón URL-címét, használja a következőthttps://<app-name>.scm.azurewebsites.net/<app-name>.git
: .git remote add azure <git-clone-url>
Leküldés a megfelelő ágra
Az App Service-adattárak alapértelmezés szerint fájlokat helyeznek üzembe az master
ágon. Ha az előző helyi fájlok az master
adattár ágában találhatók, most már üzembe helyezheti az alkalmazást a futtatással git push azure master
.
Azonban számos Git-adattár , beleértve a cikk mintakódtárát is, használja main
vagy egy másik alapértelmezett ágnevet. A megfelelő ágra való telepítéshez kifejezetten a távoli master
ágra kell telepíteni, vagy módosítani kell a telepítési ágat main
vagy más ágnévre, és telepíteni az adott ágra.
Az alábbi push
paranccsal explicit módon telepíthet master
az main
ágból:
git push azure main:master
Vagy módosítsa az alkalmazás DEPLOYMENT_BRANCH
beállítását main
-re, majd töltse fel közvetlenül a main
-re.
Azure CLI:
az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main' git push azure main
Azure Portal:
- Az alkalmazás portállapján válassza a Környezeti változók lehetőséget a bal oldali navigációs menü Beállítások csoportjában.
- Válassza a Hozzáadás lehetőséget, adjon hozzá egy alkalmazásbeállítást a DEPLOYMENT_BRANCH és az érték fő nevével, majd válassza az Alkalmaz lehetőséget.
- A terminálablakban futtassa a következőt
git push azure main
: .
Az üzembe helyezés befejezése és ellenőrzése
Ha a kód leküldése után megjelenik a Git Credential Manager párbeszédpanel, adja meg a felhasználói hatókörű üzembehelyezési felhasználónevet vagy az alkalmazás hatókörének felhasználónevét és jelszavát. Ha a Git távoli URL-címe már tartalmazza a bejelentkezési adatokat, a rendszer nem kéri annak megadását.
Tekintse át a parancs kimenetét push
. Futásidejű automatizálást láthat, például npm install
Node.js, MSBuild
ASP.NET vagy pip install
Python esetében. Ha hibaüzenetet kap, tekintse meg az üzembe helyezés hibaelhárítását.
Nyissa meg az Azure Portalt, és ellenőrizze, hogy az alkalmazás sikeresen üzembe lett-e helyezve az alkalmazás Áttekintés lapján található Alapértelmezett tartomány hivatkozás kiválasztásával. Az alkalmazásnak meg kell nyitnia egy böngészőlapon, és meg kell jelenítenie a Hello World!-t.
Hibaelhárítás az üzembe helyezés során
A következő gyakori hibák fordulhatnak elő, amikor a helyi Git használatával egy App Service-alkalmazást közzétesz az Azure-ban:
Üzenet | Oka | Rezolúció |
---|---|---|
Unable to access '[siteURL]': Failed to connect to [scmAddress] |
Az alkalmazás nem fut. | Az Azure Portalon indítsa el az alkalmazást. A Git üzembe helyezése nem érhető el a webalkalmazás leállításakor. |
Couldn't resolve host 'hostname' |
A azure távoli címének adatai helytelenek. |
A paranccsal listázhatja az git remote -v összes távoli elemet és a hozzájuk tartozó URL-címeket. Ellenőrizze, hogy a azure távoli URL-cím helyes-e. Ha szükséges, távolítsa el a helytelen URL-címet git remote remove használatával, majd hozza létre újra a távoli tárolót a megfelelő URL-címmel. |
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. |
Nem adott meg ágnevet a git push futtatásakor, vagy nem állította be a push.default értékét a .gitconfig részben. |
Futtassa újra a git push , és adja meg a megfelelő ágat a git push azure <branch> segítségével. |
Error - Changes committed to remote repository but deployment to website failed. |
Feltöltött egy helyi ágat, amely nem egyezik az alkalmazás üzembe helyezési ágával a(z) azure környezetben. |
Ellenőrizze, hogy az aktuális ág master -e, vagy módosítsa a kihelyezési ágat a A helyes ágra történő átmozgatás című témakör utasításait követve. |
src refspec [branchname] does not match any. |
Másik ágra próbáltál pusholni a(z) main távoli táron, mint a(z) azure . |
Futtassa git push újra, és adja meg az main ágat a következő paraméterrel git push azure main . |
RPC failed; result=22, HTTP code = 5xx. |
Egy nagy Git-adattárat próbált leküldni HTTPS-en keresztül. | Módosítsa a git-konfigurációt a helyi számítógépen, hogy magasabb értéket állítson be.postBuffer 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 megadja a hozzáadott szükséges modulokat. | További információkért tekintse át a npm ERR! hiba előtt megjelenő hibaüzeneteket. A hiba következő ismert okai a megfelelő npm ERR! üzeneteket okozzá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\ |