Cvičení – nasazení souboru Bicep z pracovních postupů GitHubu

Dokončeno

GitHub Actions se podobají Azure Pipelines v podstatě. Poskytují způsob, jak automatizovat vývoj a nasazení softwaru. V tomto cvičení se dozvíte, jak nasadit soubor Bicep pomocí akce GitHubu.

Požadavky

  • Budete potřebovat účet GitHubu , který tady můžete zdarma vytvořit.
  • Úložiště GitHubu se také vyžaduje k uložení souboru a pracovních postupů Bicep vytvořených dříve v části Cvičení – vytvoření šablon Bicep. Jakmile vytvoříte úložiště GitHub , nasdílejte do něj soubor Bicep .
  • Pro nasazení do Azure je potřeba přístup k předplatnému Azure , které je možné zdarma vytvořit tady.

Vytvoření instančního objektu v Azure

Pokud chcete nasadit prostředky do Azure, budete muset vytvořit service principal, který může GitHub používat. Otevřete terminál nebo použijte Cloud Shell na webu Azure Portal a zadejte následující příkazy:

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

Poznámka:

Nezapomeňte nahradit {subscription-id} skutečným ID předplatného.

Porozumění příkazu

  • az ad sp create-for-rbac: Vytvoří principála služby pro řízení přístupu na bázi rolí.
  • --Název: Název služebního objektu.
  • --role: Přiřadí contributor roli, což umožňuje úplnou správu prostředků.
  • --oblasti: Omezuje přístup ke konkrétní skupině prostředků.
  • --sdk-auth: Výstupy přihlašovacích údajů ve formátu vhodném pro ověřování sady SDK.

Pokud operace proběhne úspěšně, měl by výstupem objekt JSON, který obsahuje váš tenantIdobjekt , subscriptionIdclientId, clientSecret, a několik dalších vlastností, například následující:

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

Všimněte si tohoto objektu, protože ho budete muset přidat do tajných kódů GitHubu .

Vytvoření tajného kódu GitHubu

V úložišti GitHub přejděte do Nastavení>Tajnosti>Akce. Vytvořte nový tajný kód a AZURE_CREDENTIALS vložte celý objekt JSON , který jste získali z předchozího kroku.

Vytvořte další tajný klíč pro název skupiny prostředků s názvem, například AZURE_RG a jedním pro ID předplatného s názvem AZURE_SUBSCRIPTION.

Snímek obrazovky s vytvářením a správou tajných kódů GitHubu

Proč používat tajné kódy?

Tajné kódy GitHubu ukládají citlivé informace bezpečně. Mezi ně patří:

  • Zakódovaný: Bezpečně uložené na GitHubu.
  • V protokolech se nezobrazuje: Maskováno v protokolech spuštění pracovního postupu.
  • Přístupné v pracovních postupech: Během provádění pracovního postupu je k dispozici jako proměnné prostředí.

Vytvoření akce GitHubu

Vytvoření nového pracovního postupu

  1. Nejprve přejděte do úložiště a vyberte nabídku Akce . Potom nastavte pracovní postup tak, aby v úložišti vytvořil prázdný pracovní postup. Pokud chcete, můžete soubor přejmenovat na jiný název.

    Snímek obrazovky s vytvořením, úpravou a náhledem nového souboru GitHubu

Definování pracovního postupu

  1. Obsah souboru nahraďte následujícím fragmentem kódu:

    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
    

    Hodnotu parametru storagePrefix můžete nahradit vlastními.

Principy pracovního postupu

Tento pracovní postup akce GitHubu provádí následující akce:

  • Spoušť: Spustí se automaticky, když se kód odešle do úložiště (on: [push]).

  • Úloha: Definuje úlohu build-and-deploy, která běží na Ubuntu runneru.

  • Steps:

    • Kód pro odhlášení: Používá actions/checkout@main k odhlášení kódu úložiště.
    • Přihlaste se k Azure: Používá azure/login@v1 se k ověřování v Azure pomocí tajného AZURE_CREDENTIALS kódu.
    • Nasazení souboru Bicep: Používá azure/arm-deploy@v1 se k nasazení šablony Bicep :
      • subscriptionId: ID předplatného Azure z tajných kódů.
      • resourceGroupName: Název skupiny prostředků z tajných informací
      • template: Cesta k souboru Bicep .
      • parameters: Parametry předané šabloně Bicep .
      • failOnStdErr: Nastavte na false tak, aby nedošlo k selhání standardního chybového výstupu.

    Poznámka:

    První část pracovního postupu definuje trigger a jeho název. Zbytek definuje úlohu a pomocí několika úkolů si můžete prohlédnout kód, přihlásit se k Azure a nasadit soubor Bicep .

Potvrďte pracovní postup

  1. Vyberte Zahájit potvrzení a zadejte název a popis v automaticky otevíraných dialogových oknech. Pak vyberte Potvrdit přímo do hlavní větve a potom potvrdit nový soubor.

    Snímek obrazovky GitHubu potvrdí nový soubor do hlavní větve.

Monitorování pracovního postupu

  1. Přejděte na kartu Akce a vyberte nově vytvořenou akci, která by měla být spuštěná.

    Snímek obrazovky se spuštěnou a nasazenou akcí GitHubu

Ověření nasazení

  1. Sledujte stav a po dokončení úlohy zkontrolujte na webu Azure Portal , jestli se účet úložiště vytvořil.

    Snímek obrazovky akce GitHubu, která úspěšně spustila úlohu