Megosztás a következőn keresztül:


Folyamatos üzembe helyezés konfigurálása az Azure App Service-ben

Ez a cikk bemutatja, hogyan konfigurálhatja a folyamatos üzembe helyezést (CD) az Azure App Service-be a GitHubról, a Bitbucketből, az Azure-adattárakból vagy más adattárakból származó frissítések bekérésével.

Előfeltételek

Engedélyek írása egy Azure App Service-alkalmazáson egy forrásvezérlési adattárban.

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ásidő Gyökérkönyvtár-fájlok
ASP.NET (csak Windows rendszeren) *.sln, vagy *.csprojdefault.aspx.
ASP.NET Core *.sln vagy *.csproj.
PHP index.php.
Ruby (csak Linuxon) Gemfile.
Node.js server.js, app.jsvagy package.json indítási szkripttel.
Piton *.py, vagy requirements.txtruntime.txt.
HTML default.htm, default.html, default.asp, index.htm, index.htmlvagy 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.

Folyamatos üzembe helyezés engedélyezése

  1. Az Azure Portalon nyissa meg az App Service-alkalmazás lapját, és válassza az Üzembe helyezési központ lehetőséget a bal oldali navigációs menüből.

  2. A Forrás menü Beállítások lapján válassza ki a forrásvezérlő-adattár típusát.

    Képernyőkép az üzembehelyezési forrás kiválasztásáról.

  3. Kövesse a forrástípus utasításait az üzembe helyezés konfigurálásához.

    Képernyőkép az üzembehelyezési forrás konfigurálásáról.

A felsorolt források az App Service Build Service szolgáltatással építhetők. Egyes források a GitHub Actions vagy az Azure Pipelines használatával is létrehozhatnak. További információért látogasson el a következő oldalra: Build szolgáltatók.

A GitHub Actions az alapértelmezett GitHub-buildszolgáltató. A szolgáltató módosításához válassza a Szolgáltató módosítása lehetőséget, válassza az App Service Build Service vagy az Azure Pipelines lehetőséget, majd kattintson az OK gombra.

Ha szükséges, válassza az Engedélyezés lehetőséget , és kövesse a GitHub engedélyezési kéréseit. Ha egy másik felhasználó tárhelyéből szeretné üzembe helyezni, válassza a Fiók módosítása lehetőséget.

  1. Válassza ki a megfelelő GitHub-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.

  2. A hitelesítés típusa területen válassza a felhasználó által hozzárendelt identitást a jobb biztonság érdekében.

    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 , vagy választhat egy meglévő felügyelt identitást. Ha nem rendelkezik a szükséges engedélyekkel, 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 a legördülő menüben.

  3. 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. A módosítások mentése előtt választhatja az Előnézet fájlt a munkafolyamat-fájl megtekintéséhez.

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

Csatlakoztatott forrás folyamatos üzembe helyezésének letiltása:

  1. Az Azure Portalon nyissa meg az App Service-alkalmazás lapját, és válassza az Üzembe helyezési központ lehetőséget a bal oldali navigációs menüből.

  2. A Beállítások lapon válassza a Leválasztás lehetőséget.

    Képernyőkép arról, hogyan bonthatja le a felhőbeli mappa szinkronizálását az App Service-alkalmazással az Azure Portalon.

  3. Kattintson az OK gombra.

A GitHub esetében a munkafolyamat-fájl alapértelmezés szerint az adattárban marad, de az integrált folyamat már nem jelenik meg az Üzembe helyezési központNaplók lapján.

Mik a buildszolgáltatók?

A buildszolgáltatók a buildelés, a tesztelés és az üzembe helyezés automatizálásával segítenek a folyamatos integrációs és folyamatos kézbesítési (CI/CD) megoldások létrehozásában az Azure App Service-ben. Egyes üzembehelyezési források számos buildszolgáltatói lehetőséget kínálnak. A felsorolt források az App Service Build Service szolgáltatással építhetők.

Nem korlátozódik a felsorolt buildszolgáltatói beállításokra, de az App Service segít a felsorolt beállítások gyors beállításában és az integrált üzembe helyezés naplózásának megkezdésében.

GitHub-műveletek

A GitHub Actions buildszolgáltató csak GitHub-forrásokhoz érhető el, és GitHub-telepítésekhez ez az alapértelmezett. A buildszolgáltató úgy állítja be a CI/CD-t, hogy egy GitHub Actions-munkafolyamatfájlt helyez el az App Service buildelési és üzembehelyezési feladatait kezelő GitHub-adattárban.

Az alapszintű hitelesítéshez a GitHub Actions buildszolgáltatója 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ások esetében az App Service engedélyezi az ajánlott Microsoft OpenID Connect-hitelesítést, és konfigurálja a szükséges erőforrásokat az Azure-ban és a GitHubon. További információ: Mit tesz a felhasználó által hozzárendelt identitásbeállítás a GitHub Actionsben?

A GitHub Actions buildszolgáltatója rögzíti a munkafolyamat-futtatási naplók adatait, és megjeleníti azokat az alkalmazás Üzembe helyezési központjánakNaplók lapján.

A GitHub Actions buildszolgáltatója többféleképpen is testre szabható:

  • Testre szabhatja a munkafolyamat-fájlt, miután az létrejön a GitHub-adattárban. További információ: A GitHub Actions munkafolyamat-szintaxisa. A testre szabott munkafolyamat üzembe helyezése az App Service-ben a azure/webapps-deploy művelettel.
  • Ha a kijelölt ág védett, a konfiguráció mentése nélkül tekintse meg a munkafolyamat-fájlt. Testre szabhatja a fájlt, majd manuálisan hozzáadhatja az adattárhoz. Ez a módszer nem ad naplóintegrációt az Azure Portallal.
  • Üzembe helyezés a Microsoft Entra ID szolgáltatási főösszetevő használatával, az alapszintű hitelesítés vagy a felhasználó által hozzárendelt identitás helyett. Ezt a módszert nem konfigurálhatja a portálon.

App Service építési szolgáltatás

Az App Service buildszolgáltatása az App Service natív üzembe helyezési és buildelési motorja. Ha ezt a lehetőséget választja, az App Service hozzáad egy webhookot az Ön által engedélyezett adattárhoz. Az adattárba történő kódküldés aktiválja a webhookot, és az App Service lekéri a módosításokat, és elvégzi az üzembe helyezési feladatokat. További információ: Üzembe helyezés a GitHubról (Kudu).

Az App Service buildszolgáltatásának működéséhez szükséges a Source Control Manager (SCM) alapszintű hitelesítése a webhook működéséhez. Az alapszintű hitelesítés kevésbé biztonságos, mint a többi hitelesítési módszer. További információkért lásd:

Azure Pipelines

Az Azure Pipelines az Azure DevOps buildösszetevője. Konfigurálhat egy folyamatot az alkalmazás app Service-ben való létrehozására, tesztelésére és üzembe helyezésére bármely támogatott forrásadattárból.

Az Azure Pipelines buildszolgáltatóként való használatához válassza az Azure Pipelines lehetőséget az App Service Deployment Centerben, majd lépjen közvetlenül az Azure DevOpsba a folyamat konfigurálásához. További információ: Üzembe helyezés az App Service-ben az Azure Pipelines használatával.

Gyakori kérdések

Hogyan működik a GitHub Actions buildszolgáltatója, ha az alapszintű hitelesítés le van tiltva?

A GitHub Actions buildszolgáltatója nem működik alapszintű hitelesítéssel, ha az alapszintű hitelesítés le van tiltva. Próbálja meg inkább a GitHub Actionst használni 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.

Mi történik az alkalmazással az üzembe helyezés során, amely meghibásodást vagy kiszámíthatatlan viselkedést okozhat?

A hivatalosan támogatott üzembehelyezési módszerek módosításokat hajtanak végre az alkalmazás futtatásához használt /home/site/wwwroot mappában lévő fájlokon. Az üzembe helyezés a zárolt fájlok miatt meghiúsulhat. Az alkalmazás az üzembe helyezés során is kiszámíthatatlanul viselkedhet, ha a fájlok nem frissülnek egyszerre, ami nem kívánatos az ügyféloldali alkalmazások számára.

Ezeket a problémákat többféleképpen is elkerülheti.

Mit tesz a felhasználó által hozzárendelt identitásbeállítás a GitHub Actions esetében?

Ha a GitHub-forráshoz felhasználó által hozzárendelt identitást választ, az App Service konfigurálja az összes szükséges erőforrást az Azure-ban és a GitHubon. Az App Service lehetővé teszi az ajánlott Microsoft 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és AZURE_SUBSCRIPTION_ID az összevont hitelesítő adatokból a kiválasztott GitHub-adattárban.
  • Hozzárendeli az identitást az alkalmazáshoz.

Ezután a Azure/login GitHub-adattár GitHub Actions-munkafolyamatában végzett 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ás 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 az a hibaüzenet, hogy "Ön nem rendelkezik megfelelő engedélyekkel ezen az alkalmazáson"? Ez megakadályozza, hogy szerepköralapú hozzáférést állítson be egy kezelt identitáshoz, és federált 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. Az alkalmazás hatókörébe tartozó alábbi engedélyekre van szüksége:

  • Microsoft.Authorization/roleAssignments/write
  • Microsoft.ManagedIdentity/userAssignedIdentities/write

Alapértelmezés szerint az Azure felhasználói hozzáférés-rendszergazdai és tulajdonosi szerepkörök rendelkeznek 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, amely a webhelyek közreműködői szerepkörével rendelkezik. Ezt az identitást ezután kiválaszthatja a GitHub-forrás Identitás legördülő listájában az App Service Deployment Centerben.

További információ az alternatív lépések használatáró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ói hozzárendelt felügyelt identitás nem rendelkezik az OpenID Connect engedélyezéséhez szükséges szerepkörrel a GitHub-adattár és az App Service-alkalmazás között. Az identitásnak tulajdonosi, közreműködői vagy webhelyek közreműködői szerepkörével kell rendelkeznie az alkalmazásban. Az identitás legalacsonyabb jogosultsággal rendelkező szerepköre a Webhelyek közreműködője.