Rychlý start: Nasazení souborů Bicep pomocí GitHub Actions

GitHub Actions je sada funkcí v GitHub k automatizaci pracovních postupů vývoje softwaru.

V tomto rychlém startu použijete akci GitHub pro Azure Resource Manager k automatizaci nasazení souboru Bicep do Azure.

Poskytuje stručný úvod k akcím GitHub souborůM Bicep. Pokud chcete provést podrobnější kroky k nastavení akcí GitHub a projektu, projděte si Učení: Nasazení prostředků Azure pomocí Bicepa GitHub Actions.

Požadavky

Vytvoření skupiny prostředků

Vytvořte skupinu prostředků. Později v tomto rychlém startu nasadíte soubor Bicep do této skupiny prostředků.

az group create -n exampleRG -l westus

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

Vaše GitHub se spustí pod identitou. Pomocí příkazu az ad sp create-for-rbac vytvořte pro identitu objekt služby.

Zástupný text myApp nahraďte názvem vaší aplikace. Nahraďte {subscription-id} ID vašeho předplatného.

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

Důležité

Rozsah v předchozím příkladu je omezený na skupinu prostředků. Doporučujeme udělit minimální požadovaný přístup.

Výstupem je objekt JSON s přihlašovacími údaji pro přiřazení role, které poskytují přístup k vaší App Service aplikaci podobně jako níže. Zkopírujte tento objekt JSON pro pozdější použití. Budete potřebovat pouze oddíly s hodnotami clientId , clientSecret , a subscriptionId tenantId .

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

Konfigurace tajných GitHub klíčů

Vytvořte tajné kódy pro přihlašovací údaje Azure, skupinu prostředků a předplatná.

  1. V GitHubpřejděte do svého úložiště.

  2. Vyberte Nastavení > tajné > Nový tajný kód.

  3. Celý výstup JSON z příkazu Azure CLI vložte do pole hodnoty tajného kódu. Tajný kód AZURE_CREDENTIALS pojmete .

  4. Vytvořte další tajný kód s názvem AZURE_RG . Do pole hodnoty tajného klíče () přidejte název vaší skupiny exampleRG prostředků.

  5. Vytvořte další tajný kód s názvem AZURE_SUBSCRIPTION . Přidejte ID předplatného do pole hodnoty tajného kódu (příklad: 90fd3f9d-4c61-432d-99ba-1273f236afa2 ).

Přidání souboru Bicep

Přidejte soubor Bicep do GitHub úložiště. Následující soubor Bicep vytvoří účet úložiště:

@minLength(3)
@maxLength(11)
param storagePrefix string

@allowed([
  'Standard_LRS'
  'Standard_GRS'
  'Standard_RAGRS'
  'Standard_ZRS'
  'Premium_LRS'
  'Premium_ZRS'
  'Standard_GZRS'
  'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'

param location string = resourceGroup().location

var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'

resource stg 'Microsoft.Storage/storageAccounts@2021-04-01' = {
  name: uniqueStorageName
  location: location
  sku: {
    name: storageSKU
  }
  kind: 'StorageV2'
  properties: {
    supportsHttpsTrafficOnly: true
  }
}

output storageEndpoint object = stg.properties.primaryEndpoints

Soubor Bicep vyžaduje jeden parametr s názvem storagePrefix se 3 až 11 znaky.

Soubor můžete umístit kamkoli do úložiště. Ukázka pracovního postupu v další části předpokládá, že soubor Bicep má název main.bicep a je uložený v kořenovém adresáři vašeho úložiště.

Vytvoření pracovního postupu

Pracovní postup definuje kroky, které se mají provést při aktivaci. Jedná se o soubor YAML (.yml) v cestě .github/workflows/ vašeho úložiště. Přípona souboru pracovního postupu může být .yml nebo .yaml.

Pokud chcete vytvořit pracovní postup, postupujte následovně:

  1. V GitHub úložiště vyberte v horní nabídce Actions (Akce).

  2. Vyberte Nový pracovní postup.

  3. Vyberte nastavit pracovní postup sami.

  4. Pokud dáváte přednost jinému názvu než main.yml, přejmenujte soubor pracovního postupu. Příklad: deployBicepFile.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 Bicep file
        - name: deploy
          uses: azure/arm-deploy@v1
          with:
            subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
            resourceGroupName: ${{ secrets.AZURE_RG }}
            template: ./main.bicep
            parameters: storagePrefix=mystore
            failOnStdErr: false
    

    Nahraďte mystore předponou názvu vašeho vlastního účtu úložiště.

    Poznámka

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

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

    • name: Název pracovního postupu.
    • on: Název události GitHub, které aktivují pracovní postup. Pracovní postup se aktivuje, když v hlavní větvi dojde k události nabízeného oznámení.
  6. Vyberte Start commit (Spustit zápis).

  7. Vyberte Commit directly to the main branch (Potvrdit přímo do hlavní větve).

  8. Vyberte Commit new file (Potvrdit nový soubor) (nebo Commit changes (Potvrdit změny).

Aktualizace souboru pracovního postupu nebo souboru Bicep aktivuje pracovní postup. Pracovní postup se spustí hned po potvrzení změn.

Kontrola stavu pracovního postupu

  1. Vyberte kartu Actions (Akce). Zobrazí se pracovní postup Create 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 Run ARM deploy (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 nasazené prostředky odstraněním skupiny prostředků a GitHub úložiště.

az group delete --name exampleRG

Další kroky