ARM-sablonok üzembe helyezése a GitHub Actions használatával

A GitHub Actions a GitHub szolgáltatáscsomagja, amely automatizálja a szoftverfejlesztési munkafolyamatokat ugyanazon a helyen, ahol a kódot tárolja, és együttműködik a lekéréses kérelmeken és problémákon.

Az Azure Resource Manager-sablon üzembe helyezése művelettel automatizálhatja egy Azure Resource Manager-sablon (ARM-sablon) Üzembe helyezését az Azure-ban.

Előfeltételek

Munkafolyamat-fájl áttekintése

A munkafolyamatokat egy YAML-fájl (.yml) határozza meg az /.github/workflows/ adattár elérési útján. Ez a definíció a munkafolyamatot alkotó különböző lépéseket és paramétereket tartalmazza.

A fájl két szakaszból áll:

Szakasz Tevékenységek
Hitelesítés 1. Üzembehelyezési hitelesítő adatok létrehozása.
Telepítés 1. Telepítse a Resource Manager-sablont.

Üzembehelyezési hitelesítő adatok létrehozása

Hozzon létre egy egyszerű szolgáltatást az az ad sp create-for-rbac paranccsal az Azure CLI-ben. Futtassa ezt a parancsot az Azure Cloud Shell használatával az Azure Portalon, vagy a Kipróbálás gombra kattintva.

az ad sp create-for-rbac --name "myML" --role contributor \
                            --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
                            --json-auth

A paraméter --json-auth az Azure CLI 2.51.0-s verzióiban >érhető el. A használat --sdk-auth előtti verziók elavultsági figyelmeztetéssel.

A fenti példában cserélje le a helyőrzőket az előfizetés azonosítójára, az erőforráscsoport nevére és az alkalmazás nevére. A kimenet egy JSON-objektum, amelynek szerepkör-hozzárendelési hitelesítő adatai az alábbiakhoz hasonló hozzáférést biztosítanak az App Service-alkalmazáshoz. Másolja ezt a JSON-objektumot későbbre.

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

A GitHub titkos kulcsainak konfigurálása

  1. A GitHubon nyissa meg az adattárat.

  2. Nyissa meg a Gépház a navigációs menüben.

  3. Válassza ki a Biztonsági > titkos kulcsok és változók > műveletek lehetőséget.

    Screenshot of adding a secret

  4. Válassza az Új tárház titkos kódját.

  5. Illessze be az Azure CLI parancs teljes JSON-kimenetét a titkos kód értékmezőjébe. Adja meg a titkos nevet AZURE_CREDENTIALS.

  6. Válassza az Add secret (Titkos kód hozzáadása) lehetőséget.

Resource Manager-sablon hozzáadása

Adjon hozzá Resource Manager-sablont a GitHub-adattárhoz. Ez a sablon létrehoz egy tárfiókot.

https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json

A fájlt bárhol elhelyezheti az adattárban. A következő szakaszban található munkafolyamat-minta feltételezi, hogy a sablonfájl neve azuredeploy.json, és az adattár gyökerében lesz tárolva.

Munkafolyamat létrehozása

A munkafolyamat-fájlt az adattár gyökerében található .github/workflows mappában kell tárolni. A munkafolyamat fájlkiterjesztése lehet .yml vagy .yaml.

  1. A GitHub-adattárban válassza a Műveletek lehetőséget a felső menüben.
  2. Válassza az Új munkafolyamat lehetőséget.
  3. Válassza ki , hogy saját maga állítson be egy munkafolyamatot.
  4. Nevezze át a munkafolyamat-fájlt, ha más nevet szeretne, mint main.yml. Például: deployStorageAccount.yml.
  5. Az .yml-fájl tartalmát írja felül a következővel:
  on: [push]
  name: Azure ARM
  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 ARM template
      - name: Run ARM deploy
        uses: azure/arm-deploy@v1
        with:
          subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
          resourceGroupName: ${{ secrets.AZURE_RG }}
          template: ./azuredeploy.json
          parameters: storageAccountType=Standard_LRS

        # output containerName variable from template
      - run: echo ${{ steps.deploy.outputs.containerName }}

Feljegyzés

Az ARM Deploy műveletben (például: .azuredeploy.parameters.json) megadhat egy JSON formátumparaméterfájlt.

A munkafolyamat-fájl első szakasza a következőket tartalmazza:

  • név: A munkafolyamat neve.
  • on: A munkafolyamatot aktiváló GitHub-események neve. A munkafolyamat akkor aktiválódik, ha leküldéses esemény van a fő ágon, amely módosítja a két megadott fájl legalább egyikét. A két fájl a munkafolyamat-fájl és a sablonfájl.
  1. Válassza a Start commit (Véglegesítés indítása) lehetőséget.
  2. Válassza a Véglegesítés lehetőséget közvetlenül a főágra.
  3. Válassza az Új fájl véglegesítése (vagy Módosítások véglegesítése) lehetőséget.

Mivel a munkafolyamatot úgy konfigurálta, hogy a munkafolyamat-fájl vagy a frissített sablonfájl aktiválja, a munkafolyamat közvetlenül a módosítások véglegesítése után indul el.

Munkafolyamat állapotának ellenőrzése

  1. Válassza a Műveletek lapot. Megjelenik egy létrehozási deployStorageAccount.yml munkafolyamat a listában. A munkafolyamat futtatása 1–2 percet vesz igénybe.
  2. Válassza ki a munkafolyamatot a megnyitásához.
  3. Válassza az ARM-telepítés futtatása lehetőséget a menüben az üzembe helyezés ellenőrzéséhez.

Az erőforrások eltávolítása

Ha már nincs szükség az erőforráscsoportra és az adattárra, törölje az üzembe helyezett erőforrásokat az erőforráscsoport és a GitHub-adattár törlésével.

Következő lépések