Nasazení šablon ARM pomocí GitHub Actions

GitHub Actions je sada funkcí v GitHubu, která automatizuje pracovní postupy vývoje softwaru na stejném místě, kde ukládáte kód a spolupracujete na žádostech o přijetí změn a problémech.

Pomocí akce nasadit šablonu Azure Resource Manageru můžete automatizovat nasazení šablony Azure Resource Manageru (šablony ARM) do Azure.

Požadavky

Přehled souboru pracovního postupu

Pracovní postup je definován souborem YAML (.yml) v /.github/workflows/ cestě v úložišti. Tato definice obsahuje různé kroky a parametry, které tvoří pracovní postup.

Soubor má dvě části:

Oddíl Úlohy
Authentication 1. Vygenerujte přihlašovací údaje pro nasazení.
Nasazení 1. Nasaďte šablonu Resource Manageru.

Generování přihlašovacích údajů pro nasazení

Pomocí příkazu az ad sp create-for-rbac v Azure CLI vytvořte instanční objekt. Spusťte tento příkaz pomocí Azure Cloud Shellu na webu Azure Portal nebo výběrem tlačítka Vyzkoušet .

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

--json-auth Parametr je k dispozici ve verzích >Azure CLI = 2.51.0. Verze před tímto použitím --sdk-auth s upozorněním na vyřazení.

V předchozím příkladu nahraďte zástupné symboly ID vašeho předplatného, názvem skupiny prostředků a názvem aplikace. Výstupem je objekt JSON s přihlašovacími údaji pro přiřazení role, které poskytují přístup k vaší aplikaci App Service podobně jako v následujícím příkladu. Zkopírujte tento objekt JSON pro pozdější použití.

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

Konfigurace tajných kódů GitHubu

  1. Na GitHubu přejděte do svého úložiště.

  2. V navigační nabídce přejděte na Nastavení.

  3. Vyberte Akce tajných kódů zabezpečení > a proměnných>.

    Screenshot of adding a secret

  4. Vyberte Nový tajný klíč úložiště.

  5. Celý výstup JSON z příkazu Azure CLI vložte do pole hodnoty tajného kódu. Dejte tajnému názvu AZURE_CREDENTIALS.

  6. Vyberte Add secret (Přidat tajný kód).

Přidání šablony Resource Manageru

Přidejte šablonu Resource Manageru do úložiště GitHub. Tato šablona vytvoří účet úložiště.

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

Soubor můžete umístit kamkoli do úložiště. Ukázka pracovního postupu v další části předpokládá, že soubor šablony má název azuredeploy.json a uloží se v kořenovém adresáři úložiště.

Vytvoření pracovního postupu

Soubor pracovního postupu musí být uložený ve složce .github/workflows v kořenovém adresáři úložiště. Přípona souboru pracovního postupu může být buď .yml nebo .yaml.

  1. V úložišti GitHub vyberte v horní nabídce akce .
  2. Vyberte Nový pracovní postup.
  3. Vyberte nastavení pracovního postupu sami.
  4. Pokud dáváte přednost jinému názvu než main.yml, přejmenujte soubor pracovního postupu. Příklad: deployStorageAccount.yml.
  5. Obsah souboru YML nahraďte následujícím kódem:
  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 }}

Poznámka:

Soubor parametrů formátu JSON můžete místo toho zadat v akci nasazení ARM (příklad: .azuredeploy.parameters.json).

První část souboru pracovního postupu obsahuje:

  • name: Název pracovního postupu.
  • on: Název událostí GitHubu, které aktivují pracovní postup. Pracovní postup se aktivuje, když v hlavní větvi dojde k události push, která upraví alespoň jeden ze dvou zadaných souborů. Dva soubory jsou soubor pracovního postupu a soubor šablony.
  1. Vyberte Start commit (Spustit zápis).
  2. Vyberte Potvrdit přímo do hlavní větve.
  3. Vyberte Potvrdit nový soubor (nebo Potvrdit změny).

Vzhledem k tomu, že je pracovní postup nakonfigurovaný tak, aby se aktivoval buď soubor pracovního postupu, nebo aktualizovaný soubor šablony, pracovní postup se spustí hned po potvrzení změn.

Kontrola stavu pracovního postupu

  1. Vyberte kartu Akce. Zobrazí se seznam pracovních postupů vytvoření deployStorageAccount.yml. Spuštění pracovního postupu trvá 1 až 2 minuty.
  2. Výběrem pracovního postupu ho otevřete.
  3. V nabídce vyberte Spustit nasazení ARM a ověřte nasazení.

Vyčištění prostředků

Pokud už skupinu prostředků a úložiště nepotřebujete, vyčistěte prostředky, které jste nasadili, odstraněním skupiny prostředků a úložiště GitHub.

Další kroky