Folyamatos üzembe helyezés az Azure App Service-be
Feljegyzés
2024. június 1-től az összes újonnan létrehozott App Service-alkalmazás létrehozhat egy egyedi alapértelmezett gazdagépnevet az elnevezési konvencióval <app-name>-<random-hash>.<region>.azurewebsites.net
. A meglévő alkalmazásnevek változatlanok maradnak.
Példa: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
További részletekért tekintse meg az App Service-erőforrás egyedi alapértelmezett gazdagépnevét.
Azure-alkalmazás Szolgáltatás lehetővé teszi a GitHub, a Bitbucket és az Azure-adattárak folyamatos üzembe helyezését a legújabb frissítések bekérésével.
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.
Az üzembehelyezési forrás konfigurálása
Az Azure Portalon nyissa meg az App Service-alkalmazás felügyeleti lapját.
A bal oldali panelen válassza az Üzembe helyezési központ lehetőséget. Ezután válassza a Beállítások lehetőséget.
A Forrás mezőben válassza ki a CI/CD egyik beállítását:
Válassza ki a buildszolgáltatónak megfelelő lapot a folytatáshoz.
A GitHub Actions az alapértelmezett buildszolgáltató. A szolgáltató módosításához válassza az App Service buildszolgáltatás>módosítása>OK elemet.
Ha első alkalommal telepíti a GitHubot, válassza az Engedélyezés lehetőséget, és kövesse az engedélyezési utasításokat. Ha egy másik felhasználó adattárából szeretné üzembe helyezni az üzembe helyezést, válassza a Fiók módosítása lehetőséget.
Miután engedélyezte Azure-fiókját a GitHubon, válassza ki a kívánt szervezetet, adattárat és ágat .
Ha nem talál szervezetet vagy adattárat, előfordulhat, hogy további engedélyeket kell engedélyeznie a GitHubon. További információ: A szervezet adattáraihoz való hozzáférés kezelése.
A hitelesítés típusa területen válassza a felhasználó által hozzárendelt identitást a jobb biztonság érdekében. További információkért tekintse meg a gyakori kérdéseket.
Feljegyzés
Ha az Azure-fiókja rendelkezik a felhasználó által hozzárendelt identitáshoz szükséges engedélyekkel, az Azure létrehoz egy felhasználó által hozzárendelt felügyelt identitást. Ha nem, az Azure-rendszergazdával együttműködve hozzon létre egy identitást a szükséges szerepkörrel az alkalmazásban, majd válassza ki itt a legördülő menüben.
(Nem kötelező) Ha meg szeretné tekinteni a fájlt a módosítások mentése előtt, válassza az Előnézet fájl lehetőséget. Az App Service kiválaszt egy munkafolyamat-sablont az alkalmazás nyelvi verembeállítása alapján, és véglegesíti azt a kiválasztott GitHub-adattárban.
Válassza a Mentés lehetőséget.
A kijelölt adattárban és ágban lévő új véglegesítések mostantól folyamatosan üzembe helyezhetők az App Service-alkalmazásban. A véglegesítéseket és az üzembe helyezéseket a Naplók lapon követheti nyomon.
Folyamatos üzembe helyezés letiltása
Az Azure Portalon nyissa meg az App Service-alkalmazás felügyeleti lapját.
A bal oldali panelen válassza az Üzembe helyezési központ lehetőséget. Ezután válassza a Beállítások>leválasztása lehetőséget:
Alapértelmezés szerint a GitHub Actions munkafolyamat-fájlja megmarad az adattárban, de továbbra is elindítja az alkalmazás üzembe helyezését. Ha törölni szeretné a fájlt az adattárból, válassza a Munkafolyamat-fájl törlése lehetőséget.
Kattintson az OK gombra.
Mik a buildszolgáltatók?
Az üzembehelyezési központ központi telepítési forrásától függően előfordulhat, hogy néhány lehetőség közül választhat a buildszolgáltatók számára. A buildszolgáltatók a buildelés, tesztelés és üzembe helyezés automatizálásával segítenek a CI/CD-megoldások Azure-alkalmazás szolgáltatással történő összeállításában.
Az Üzembe helyezési központban található buildszolgáltatói beállításokra nem korlátozódik, de az App Service segítségével gyorsan beállíthatja őket, és integrált üzembe helyezési naplózási felületet kínál.
A GitHub Actions buildszolgáltatója csak a GitHub üzembe helyezéséhez érhető el. Ha az alkalmazás központi telepítési központjából van konfigurálva, az alábbi műveleteket hajtja végre a CI/CD beállításához:
- GitHub Actions-munkafolyamatfájlt helyez el a GitHub-adattárban a buildelési és üzembe helyezési feladatok App Service-ben való kezeléséhez.
- Az alapszintű hitelesítéshez gitHub-titkos kódként adja hozzá az alkalmazás közzétételi profilját. A munkafolyamat-fájl ezt a titkos kulcsot használja az App Service-ben való hitelesítéshez.
- A felhasználó által hozzárendelt identitással kapcsolatban lásd : Mit tesz a felhasználó által hozzárendelt identitásbeállítás a GitHub Actionsben?
- Rögzíti a munkafolyamat-futtatási naplók adatait, és megjeleníti azokat az Üzembe helyezési központ Naplók lapján.
A GitHub Actions buildszolgáltatója az alábbi módokon szabható testre:
- Testre szabhatja a munkafolyamat-fájlt, miután létrejött a GitHub-adattárban. További információ: A GitHub Actions munkafolyamat-szintaxisa. Csak győződjön meg arról, hogy a munkafolyamat az Azure/webapps-deploy művelettel települ az App Service-ben .
- Ha a kijelölt ág védett, a konfiguráció mentése nélkül is megtekintheti a munkafolyamat-fájlt, majd manuálisan hozzáadhatja az adattárhoz. Ez a módszer nem ad naplóintegrációt az Azure Portallal.
- Alapszintű hitelesítés vagy felhasználó által hozzárendelt identitás használata helyett a Microsoft Entra ID szolgáltatásnévvel is üzembe helyezheti azokat. Ez nem konfigurálható a portálon.
Mi történik az alkalmazásommal az üzembe helyezés során?
A hivatalosan támogatott üzembehelyezési módszerek mindegyike módosítja az alkalmazás /home/site/wwwroot mappájában lévő fájlokat. Ezek a fájlok az alkalmazás futtatására szolgálnak. Tehát az üzembe helyezés a fájlok zárolása miatt meghiúsulhat. Továbbá az alkalmazás viselkedése kiszámíthatatlanná válhat az üzembe helyezés során, mert a fájlok nem egyszerre frissülnek. Ez a működés egy ügyfelek által használt alkalmazás esetében nemkívánatos. Ezeket a problémákat többféleképpen is el lehet kerülni:
- Futtassa az alkalmazást közvetlenül a ZIP-csomagból, kicsomagolás nélkül.
- Állítsa le az alkalmazást, vagy kapcsolja be az offline módot az üzembe helyezés során. További információk: Zárolt fájlok kezelése az üzembe helyezés során.
- Helyezze üzembe az alkalmazást egy előkészítési ponton, és kapcsolja be az automatikus felcserélést.
Gyakori kérdések
- Működik a GitHub Actions buildszolgáltatója alapszintű hitelesítéssel, ha az alapszintű hitelesítés le van tiltva?
- Mit tesz a felhasználó által hozzárendelt identitásbeállítás a GitHub Actions esetében?
- Miért jelenik meg a következő hibaüzenet: "Ez az identitás nem rendelkezik írási engedélyekkel az alkalmazáson. Válasszon másik identitást, vagy működjön együtt a rendszergazdával, hogy a webhely közreműködői szerepkörét biztosítsa az ön identitásának ezen az alkalmazásban?
- Miért jelenik meg a következő hibaüzenet: "Ez az identitás nem rendelkezik írási engedélyekkel az alkalmazáson. Válasszon másik identitást, vagy működjön együtt a rendszergazdával, hogy a webhely közreműködői szerepkörét biztosítsa az ön identitásának ezen az alkalmazásban?
Működik a GitHub Actions buildszolgáltatója alapszintű hitelesítéssel, ha az alapszintű hitelesítés le van tiltva?
Szám Próbálja meg használni a GitHub Actionst a felhasználó által hozzárendelt identitásbeállítással .
További információ: Üzembe helyezés alapszintű hitelesítés nélkül.
Mit tesz a felhasználó által hozzárendelt identitásbeállítás a GitHub Actions esetében?
Ha a GitHub Actions-forrás alatt választja ki a felhasználó által hozzárendelt identitást, az App Service konfigurálja az Összes szükséges erőforrást az Azure-ban és a GitHubon, hogy engedélyezze az ajánlott OpenID Connect-hitelesítést a GitHub Actions használatával.
Az App Service a következő műveleteket hajtja végre:
- Összevont hitelesítő adatot hoz létre egy felhasználó által hozzárendelt felügyelt identitás között az Azure-ban, valamint a kiválasztott adattár és ág között a GitHubon.
- Létrehozza a titkos kulcsokat
AZURE_CLIENT_ID
,AZURE_TENANT_ID
ésAZURE_SUBSCRIPTION_ID
az összevont hitelesítő adatokból a kiválasztott GitHub-adattárban. - Hozzárendeli az identitást az alkalmazáshoz.
A GitHub Actions-munkafolyamatban a GitHub-adattárban az Azure/login művelettel hitelesítheti az alkalmazást az OpenID Connect használatával. Példák : A munkafolyamat-fájl hozzáadása a GitHub-adattárhoz.
Ha az Azure-fiókja rendelkezik a szükséges engedélyekkel, az App Service létrehoz egy felhasználó által hozzárendelt felügyelt identitást, és konfigurálja Az Ön számára. Ez az identitás nem jelenik meg az alkalmazás Identitások lapján. Ha az Azure-fiókja nem rendelkezik a szükséges engedélyekkel, ki kell választania egy meglévő identitást a szükséges szerepkörrel.
Miért jelenik meg a következő hibaüzenet: "Nem rendelkezik megfelelő engedélyekkel ezen az alkalmazáson ahhoz, hogy szerepköralapú hozzáférést rendeljen egy felügyelt identitáshoz, és összevont hitelesítő adatokat konfiguráljon"?
Az üzenet azt jelzi, hogy az Azure-fiókja nem rendelkezik a gitHub Actionshez felhasználó által hozzárendelt felügyelt identitás létrehozásához szükséges engedélyekkel. A szükséges engedélyek (az alkalmazás hatóköre) a következők:
Microsoft.Authorization/roleAssignments/write
Microsoft.ManagedIdentity/userAssignedIdentities/write
Alapértelmezés szerint a felhasználói hozzáférés-rendszergazdai és a tulajdonosi szerepkör már rendelkezik ezekkel az engedélyekkel, de a Közreműködő szerepkör nem. Ha nem rendelkezik a szükséges engedélyekkel, az Azure-rendszergazdával együttműködve hozzon létre egy felhasználó által hozzárendelt felügyelt identitást a webhely közreműködői szerepkörével. Az Üzembe helyezési központban ezután kiválaszthatja az identitást a GitHub>Identity legördülő listájában.
További információ az alternatív lépésekről: Üzembe helyezés az App Service-ben a GitHub Actions használatával.
Miért jelenik meg a következő hibaüzenet: "Ez az identitás nem rendelkezik írási engedélyekkel az alkalmazáson. Válasszon másik identitást, vagy működjön együtt a rendszergazdával, hogy a webhely közreműködői szerepkörét biztosítsa az ön identitásának ezen az alkalmazásban?
Az üzenet azt jelzi, hogy a kiválasztott felhasználó által hozzárendelt felügyelt identitás nem rendelkezik az OpenID Connect engedélyezéséhez szükséges szerepkörsel a GitHub-adattár és az App Service-alkalmazás között. Az identitásnak a következő szerepkörök egyikével kell rendelkeznie az alkalmazásban: Tulajdonos, Közreműködő, Webhelyek közreműködője. Az identitás legkevésbé kiemelt szerepköre a webhelyek közreműködője.