Gyakorlat – Bicep-fájl üzembe helyezése GitHub-munkafolyamatokból

Befejeződött

A GitHub Actions hasonló az Azure Pipelineshoz . Lehetővé teszik a szoftverfejlesztés és az üzembe helyezés automatizálását. Ebben a gyakorlatban megtanulja, hogyan kell üzembe helyezni egy Bicep-fájlt egy GitHub-művelet használatával.

Előfeltételek

Szolgáltatásnév létrehozása az Azure-ban

Az erőforrások Azure-ban való üzembe helyezéséhez létre kell hoznia egy szolgáltatásnevet , amelyet a GitHub használhat. Nyisson meg egy terminált, vagy használja a Cloud Shellt az Azure Portalon , és írja be a következő parancsokat:

az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth

Feljegyzés

Ne felejtse el lecserélni a {subscription-id} tényleges előfizetés-azonosítóra.

A parancs ismertetése

  • az ad sp create-for-rbac: Létrehoz egy szolgáltatási főösszetevőt a szerepköralapú hozzáférés-vezérléshez.
  • --név: A szolgáltatásfő név.
  • --szerep: Hozzárendeli a contributor szerepkört, lehetővé téve az erőforrások teljes kezelését.
  • --Hatókörök: Egy adott erőforráscsoporthoz való hozzáférés korlátozása.
  • --sdk-auth: SDK-hitelesítésre alkalmas formátumban adja ki a hitelesítő adatokat.

Ha a művelet sikeres, egy JSON-objektumot kell kiadnia, amely tartalmazza a tenantId, subscriptionId, , clientIdclientSecret, és néhány további tulajdonságot, például a következőket:

{
    "clientId": "<GUID>",
    "clientSecret": "<GUID>",
    "subscriptionId": "<GUID>",
    "tenantId": "<GUID>",
    (...)
}

Jegyezze fel ezt az objektumot, mivel hozzá kell adnia a GitHub titkok közé.

GitHub-titkos kód létrehozása

A GitHub-adattárban navigáljon a Beállítások>Titkok>Műveletek részhez. Hozzon létre egy új titkos kulcsot, AZURE_CREDENTIALS és illessze be az előző lépésben kapott teljes JSON-objektumot .

Hozzon létre egy másik titkot az erőforráscsoport megnevezéséhez olyan névvel, mint például AZURE_RG, és egyet az előfizetés-azonosítóhoz, amelynek neve AZURE_SUBSCRIPTION.

Képernyőkép a GitHub titkos kulcsainak létrehozásáról és kezeléséről.

Miért érdemes titkos kulcsokat használni?

A GitHub titkos kódjai biztonságosan tárolják a bizalmas információkat. Ezek a következők:

  • Titkosított: Biztonságosan tárolva a GitHubon.
  • Nem látható a naplókban: Maszkolt munkafolyamat-futtatási naplókban.
  • Munkafolyamatokban elérhető: Környezeti változókként érhető el a munkafolyamat végrehajtása során.

GitHub-művelet létrehozása

Új munkafolyamat létrehozása

  1. Először keresse meg az adattárat, és válassza a Műveletek menüt . Ezután állítson be egy munkafolyamatot egy üres munkafolyamat létrehozásához az adattárban. Tetszés szerint átnevezheti a fájlt egy másik névre.

    Képernyőkép a GitHub új fájljának létrehozásáról, szerkesztéséről és előnézetéről.

A munkafolyamat definiálása

  1. Cserélje le a fájl tartalmát a következő kódrészletre:

    on: [push]
    name: Azure Resource Manager
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        steps:
          # Checkout code
          - uses: actions/checkout@main
    
            # Log into Azure
          - uses: azure/login@v1
            with:
              creds: ${{ secrets.AZURE_CREDENTIALS }}
    
            # Deploy Bicep file
          - name: deploy
            uses: azure/arm-deploy@v1
            with:
              subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
              resourceGroupName: ${{ secrets.AZURE_RG }}
              template: ./main.bicep
              parameters: storagePrefix=stg
              failOnStdErr: false
    

    Nyugodtan cserélje le a storagePrefix paraméter értékét a saját értékére.

A munkafolyamat ismertetése

Ez a GitHub Action-munkafolyamat a következőket hajtja végre:

  • Esemény: Automatikusan lefut, amikor a kód a tárolóba (on: [push]) pusholásra kerül.

  • Foglalkozás: Egy build-and-deploy futó feladat definiálása.

  • Steps:

    • Kivételi kód: A actions/checkout@main segítségével kiveszi az adattár kódját.
    • Jelentkezzen be az Azure-ba: Az azure/login@v1 való hitelesítést használja a AZURE_CREDENTIALS titkos kód használatával.
    • Bicep-fájl üzembe helyezése: Az azure/arm-deploy@v1 használata a Bicep sablon üzembe helyezésére:
      • subscriptionId: Azure-előfizetés azonosítója titkos adatokból.
      • resourceGroupName: Az erőforráscsoport neve titkos adatokból.
      • template: A Bicep-fájl elérési útja.
      • parameters: A Bicep-sablonnak átadott paraméterek.
      • failOnStdErr: Állítsa úgy, false hogy a standard hibakimenet nem hiúsul meg.

    Feljegyzés

    A munkafolyamat első része határozza meg az eseményindítót és annak nevét. A többi definiál egy feladatot, és néhány feladatot használ a kód kivételéhez, az Azure-ba való bejelentkezéshez és a Bicep-fájl üzembe helyezéséhez.

A munkafolyamat véglegesítése

  1. Válassza a Véglegesítés indítása lehetőséget, és adjon meg egy címet és egy leírást az előugró párbeszédpanelen. Ezután válassza a közvetlenül a főágra véglegesítse lehetőséget, majd az új fájl véglegesítése opciót.

    Képernyőkép arról, hogy a GitHub egy új fájlt véglegesít a főágban.

A munkafolyamat figyelése

  1. Lépjen a Műveletek lapra, és válassza ki az újonnan létrehozott műveletet, amelyet futtatnia kell.

    Képernyőkép a GitHub-művelet futásáról és üzembe helyezéséről.

Az üzembe helyezés ellenőrzése

  1. Figyelje meg az állapotot, és ha a feladat befejeződött, ellenőrizze az Azure Portalon , hogy létrejött-e a tárfiók.

    Képernyőkép a GitHub-művelet sikeres végrehajtásáról.