Fájlok üzembe helyezése Azure App Service

Ez a cikk bemutatja, hogyan helyezheti üzembe a kódot ZIP, WAR, JAR vagy EAR csomagként Azure App Service. Azt is bemutatja, hogyan helyezhet üzembe egyes fájlokat az App Service-ben, az alkalmazáscsomagtól elkülönítve.

Előfeltételek

A cikk lépéseinek elvégzéséhez hozzon létre egy App Service-alkalmazást, vagy használjon egy másik oktatóanyaghoz létrehozott alkalmazást.

Ha nincs Azure fiókja, a kezdés előtt hozzon létre egy felszabadító fiókot.

Projekt ZIP-csomag létrehozása

Fontos

Amikor létrehozza a ZIP-csomagot az üzembe helyezéshez, ne foglalja bele a gyökérkönyvtárat. Csak a fájlokat és könyvtárakat vegye fel a gyökérkönyvtárba. Ha zip-fájlként tölt le egy GitHub-adattárat, nem helyezheti üzembe a fájlt as-is az App Service-ben. GitHub beágyazott könyvtárakat ad hozzá a legfelső szinten, ami nem működik az App Service-ben.

Egy helyi terminálablakban keresse fel az alkalmazásprojekt gyökérkönyvtárát.

Ennek a könyvtárnak tartalmaznia kell a webalkalmazás bejegyzés fájlját, például index.html, index.php és app.js. Olyan csomagkezelési fájlokat is tartalmazhat, mint a project.json, composer.json, package.json, bower.jsonés requirements.txt.

Ha nem szeretné, hogy az App Service üzembe helyezési automatizálást futtasson Önnek, futtassa az összes buildelési feladatot. Például: npm, bower, gulp, composerés pip. Győződjön meg arról, hogy rendelkezik az alkalmazás futtatásához szükséges összes fájllal. Erre a lépésre akkor van szükség, ha közvetlenül szeretné futtatni a csomagot.

Készítsen ZIP-archívumot a projekt minden eleméről. Projektek esetén adjon hozzá mindent a dotnet parancs kimeneti könyvtárában, kivéve magát a kimeneti könyvtárat dotnet publish. Írja be például a következő parancsot a terminálba egy olyan ZIP-csomag létrehozásához, amely tartalmazza az aktuális könyvtár tartalmát:

# Bash
zip -r <file-name>.zip .

# PowerShell
Compress-Archive -Path * -DestinationPath <file-name>.zip

ZIP-csomag üzembe helyezése

ZIP-csomag üzembe helyezésekor az App Service kicsomagolja annak tartalmát az alkalmazás alapértelmezett elérési útján: D:\home\site\wwwroot Windows és /home/site/wwwroot Linux esetén.

Ez a ZIP-csomag üzembe helyezése ugyanazt a Kudu szolgáltatást használja, amely folyamatos integrációs alapú üzembe helyezéseket működtet. A Kudu a következő funkciókat támogatja a ZIP-csomagok üzembe helyezéséhez:

  • Az előző üzembe helyezésből hátrahagyott fájlok törlése
  • Az alapértelmezett összeállítási folyamat bekapcsolásának lehetősége, amely magában foglalja a csomag-visszaállítást is
  • Üzembe helyezés testreszabása, beleértve az üzembehelyezési szkriptek futtatását is
  • Telepítési naplók
  • 2048 megabájtos csomagméretkorlát

Megjegyzés

A ZIP-csomagban lévő fájlok csak akkor lesznek másolva, ha az időbélyegeik nem egyeznek a már üzembe helyezett fájlokkal.

Üzembe helyezés ZIP üzembe helyezési felhasználói felülettel a Kuduban

  1. Nyissa meg az alkalmazást a Azure portálon, és válassza a Development Tools>Advanced Tools, majd a Go lehetőséget.
  2. A Kuduban válassza aZip Push Deploy>.
  3. Töltse fel a projekt ZIP-csomag létrehozása szolgáltatásban létrehozott ZIP-csomagot. Húzza a weblap fájlkezelő területére.

Ha az üzembe helyezés folyamatban van, a jobb felső sarokban látható ikon megjeleníti az előrehaladás százalékos arányát. A lapon a Fájlkezelő terület alatti művelet üzenetei is megjelennek. Amikor az üzembe helyezés befejeződik, az utolsó üzenetnek a következőt kell mondania: "Sikeres üzembe helyezés".

Ez a végpont jelenleg nem működik az „App Service on Linux” esetén. Fontolja meg inkább az FTP vagy a ZIP üzembe helyezési API használatát.

Üzembe helyezés Kudu felületen ZIP üzembe helyezési funkció használata nélkül

Zip-csomag üzembe helyezése a webalkalmazásban a az webapp deploy parancs használatával. A CLI-parancs a Kudu publish API használatával telepíti a fájlokat, és teljes mértékben testre szabható.

Az alábbi példa egy ZIP-csomagot küld a webhelyére. Adja meg a --src-path helyi ZIP-csomag elérési útját.

az webapp deploy --resource-group <group-name> --name <app-name> --src-path <zip-package-path>

Ez a parancs újraindítja az alkalmazást a ZIP-csomag üzembe helyezése után.

Automatizált build engedélyezése ZIP telepítéshez

Alapértelmezés szerint az üzembehelyezési motor feltételezi, hogy egy ZIP-csomag készen áll a futtatásra, és nem futtat semmilyen buildautomatizálást. A Git-környezetekben használt buildautomatizálás engedélyezéséhez állítsa be az SCM_DO_BUILD_DURING_DEPLOYMENT alkalmazásbeállítást. Futtassa a következő parancsot Azure Cloud Shell:

az webapp config appsettings set --resource-group <group-name> --name <app-name> --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true

További információt a Kudu dokumentációjában talál.

WAR-, JAR- vagy EAR-csomagok üzembe helyezése

A WAR, JAR vagy EAR csomagot az App Service-ben telepítheti a Java webalkalmazás futtatásához a Azure CLI, a PowerShell vagy a Kudu publish API használatával.

Az itt látható üzembe helyezési folyamat az alkalmazás tartalommegosztására helyezi a csomagot a megfelelő elnevezési konvencióval és címtárstruktúrával. További információ: Kudu publish API reference. Ezt a megközelítést javasoljuk. Ha WAR-, JAR- vagy EAR-csomagokat FTP vagy Web Deploy használatával helyez üzembe ahelyett, hogy más módszert választana, az elnevezés vagy a struktúra hibái miatt ismeretlen hibák fordulhatnak elő.

A parancs használatával helyezzen üzembe egy WAR-csomagot a Tomcat vagy a az webapp deploy JBoss EAP-ben. Adja meg a --src-path helyi Java csomagjának elérési útját.

az webapp deploy --resource-group <group-name> --name <app-name> --src-path ./<package-name>.war

A CLI-parancs a Kudu publish API használatával telepíti a csomagot, és teljes mértékben testre szabható.

Egyedi fájlok üzembe helyezése

Üzembe helyezhet egy indítási szkriptet, tárat és statikus fájlt a webalkalmazásban a az webapp deploy paraméterrel rendelkező --type paranccsal.

Ha így helyez üzembe egy indítási szkriptet, az App Service automatikusan a szkript használatával indítja el az alkalmazást.

A CLI-parancs a Kudu publish API használatával telepíti a fájlokat. A parancs teljesen testre szabható.

Indítási szkript üzembe helyezése

az webapp deploy --resource-group <group-name> --name <app-name> --src-path scripts/startup.sh --type=startup

Könyvtárfájl üzembe helyezése

az webapp deploy --resource-group <group-name> --name <app-name> --src-path driver.jar --type=lib

Statikus fájl üzembe helyezése

az webapp deploy --resource-group <group-name> --name <app-name> --src-path config.json --type=static

Hálózati biztonságú alkalmazásokra való üzembe helyezés

A webalkalmazás hálózati konfigurációjától függően előfordulhat, hogy a fejlesztési környezetből közvetlenül nem érhető el az alkalmazás. (Lásd: Üzembe helyezés a hálózat által védett helyeken és üzembe helyezés a hálózat által védett helyeken, 2. rész.) Ahelyett, hogy közvetlenül a webalkalmazásba küldi a csomagot vagy a fájlt, közzéteheti egy olyan tárolórendszerben, amely elérhető a webalkalmazásból, és aktiválhatja az alkalmazást, hogy lekérje a ZIP-t a tárolási helyről.

A távoli URL-cím bármilyen nyilvánosan elérhető hely lehet, de a legjobb, ha egy blobtárolót használ közös hozzáférésű jogosultságkóddal (SAS) a védelemhez.

Használja a az webapp deploy parancsot, mint a többi szakaszban, de --src-url -t használjon --src-path helyett. Az alábbi példa a --src-url paraméterrel adja meg egy Azure Storage-fiókban üzemeltetett ZIP-fájl URL-címét.

az webapp deploy --resource-group <group-name> --name <app-name> --src-url "https://storagesample.blob.core.windows.net/sample-container/myapp.zip?sv=2021-10-01&sb&sig=slk22f3UrS823n4kSh8Skjpa7Naj4CG3 --type zip

Kudu API közzétételi referencia

A publish Kudu API lehetővé teszi, hogy ugyanazokat a paramétereket adja meg a CLI-parancsból, mint az URL-lekérdezési paraméterek. A Kudu REST API-val való hitelesítéshez jogkivonat-hitelesítést javasoljuk, de az alkalmazás üzembehelyezési hitelesítő adataival is használhat alapszintű hitelesítést.

Az alábbi táblázat az elérhető lekérdezési paramétereket, azok engedélyezett értékeit és leírását mutatja be.

Kulcs Megengedett értékek Leírás Kötelező Típus
type war|jar|ear|lib|startup|static|zip Ez a telepített artefaktum típusa. Beállítja az alapértelmezett célelérési utat, és tájékoztatja a webalkalmazást az üzembe helyezés kezeléséről.

type=zip: ZIP-csomag üzembe helyezése a tartalom /home/site/wwwroot könyvtárba való kicsomagolásával. path paraméter megadása nem kötelező.

type=war: WAR-csomag üzembe helyezése. A WAR-csomag alapértelmezés szerint a /home/site/wwwroot/app.war területre van telepítve. A cél elérési útja megadható a következővel path: .

type=jar: JAR-csomag üzembe helyezése a /home/site/wwwroot/app.jar A path paraméter figyelmen kívül lesz hagyva.

type=ear: EAR-csomag üzembe helyezése ide /home/site/wwwroot/app.ear. A path paraméter figyelmen kívül lesz hagyva.

type=lib: JAR-kódtárfájl üzembe helyezése. Alapértelmezés szerint a fájl a következőre van üzembe helyezve: /home/site/libs. A cél elérési útja megadható a következővel path: .

type=static: Statikus fájl, például szkript üzembe helyezése. Alapértelmezés szerint a fájl a következőre van üzembe helyezve: /home/site/wwwroot.

type=startup: Helyezzen üzembe egy szkriptet, amelyet az App Service automatikusan használ az alkalmazás indítási szkriptjeként. Alapértelmezés szerint a szkript D:\home\site\scripts\<name-of-source> Windows és home/site/wwwroot/startup.sh linuxos környezetben van üzembe helyezve. A cél elérési útja megadható a következővel path: .
Igen Sztring
restart true|false Alapértelmezés szerint az API újraindítja az alkalmazást az üzembe helyezési művelet (restart=true) után. Ha több összetevőt helyez üzembe, az utolsót kivéve minden üzembe helyezésnél megakadályozhatja az újraindulásokat a restart=false beállításával. Nem logikai
clean true|false Meghatározza, hogy törölje-e a célkörnyezetet, mielőtt az artefaktumot oda telepítené. Nem logikai
ignorestack true|false A közzétételi API a WEBSITE_STACK környezeti változóval választja ki a biztonságos alapértelmezett értékeket a webhely nyelvi veremétől függően. Ha ezt a paramétert úgy állítja be, hogy false letiltsa a nyelvspecifikus alapértelmezett beállításokat. Nem logikai
path Abszolút elérési út Az artefaktum üzembe helyezésének abszolút elérési útja. Például, /home/site/deployments/tools/driver.jar vagy /home/site/scripts/helper.sh. Nem Sztring

A fejlettebb üzembe helyezési forgatókönyvekért próbálja meg a Git-tel az Azure-ba történő telepítést. A Git-alapú üzembe helyezés Azure lehetővé teszi a verziókövetést, a csomag-visszaállítást, az MSBuildet és egyebeket.