Folyamatos üzembe helyezés az Azure App Service-be

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, app.js vagy 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/futtatás.<App_Data>/feladatok/folyamatos WebJobs-feladatok alatt, vagy App_Data/feladatok/aktiválva az aktivált WebJobs-feladatok esetében. 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.

Az üzembehelyezési forrás konfigurálása

  1. Az Azure Portalon nyissa meg az App Service-alkalmazás felügyeleti lapját.

  2. A bal oldali panelen válassza az Üzembe helyezési központ lehetőséget. Ezután válassza a Gépház.

  3. A Forrás mezőben válassza ki a CI/CD egyik beállítását:

    Screenshot that shows how to choose the deployment source.

Válassza ki a buildszolgáltatónak megfelelő lapot a folytatáshoz.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. (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.

  6. 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

  1. Az Azure Portalon nyissa meg az App Service-alkalmazás felügyeleti lapját.

  2. A bal oldali panelen válassza az Üzembe helyezési központ lehetőséget. Ezután válassza a Gépház> Disconnect elemet:

    Screenshot that shows how to disconnect your cloud folder sync with your App Service app in the Azure portal.

  3. 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.

  4. 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:

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?

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?

Amikor 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 Csatlakozás 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és AZURE_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 végezhet hitelesítést az alkalmazással az OpenID Csatlakozás 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 Rendszergazda istrator szerepkör és a Tulajdonos 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 Csatlakozás engedélyezéséhez szükséges szerepkörökkal 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.

További erőforrások