Cvičení – nastavení prostředí

Dokončeno

Důležité

K provedení tohoto cvičení potřebujete vlastní předplatné Azure a mohou se vám účtovat poplatky. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet, než začnete.

Než začnete publikovat opakovaně použitelný kód Bicep vaší společnosti, musíte nakonfigurovat své prostředí. V této části se ujistěte, že jsou vaše prostředí Azure a GitHub nastavená tak, aby dokončila zbytek tohoto modulu.

Abyste splnili tyto cíle, postupujte takto:

  • Nastavte úložiště GitHub pro tento modul.
  • Naklonujte úložiště do počítače.
  • Vytvořte skupinu prostředků v Azure.
  • Vytvořte tajný kód na GitHubu.

Získání úložiště GitHub

Tady vytvoříte nové úložiště GitHub založené na úložišti šablon. Úložiště šablon obsahuje soubory, které potřebujete pro tento modul začít.

Moduly v tomto studijním programu jsou součástí průběhu. Pro účely výuky má každý modul přidružené úložiště šablon GitHubu.

Tip

I když jste dokončili předchozí modul ve studijním programu, podle těchto pokynů vytvořte nové úložiště a ujistěte se, že jste mu dali nový název.

Začínáme z úložiště šablon

Spusťte šablonu, která nastaví úložiště GitHub.

Na webu GitHubu pomocí následujícího postupu vytvořte úložiště ze šablony:

  1. Přihlaste se na GitHub.

  2. Vyberte Použít tuto šablonu>Vytvořit nové úložiště.

    Snímek obrazovky s rozhraním GitHubu, které zobrazuje úložiště šablon Tlačítko pro použití šablony je zvýrazněné.

  3. Jako vlastník vyberte svůj účet GitHub.

  4. Zadejte název úložiště pro nový projekt, například opakovaně použitelný toy.

  5. Vyberte veřejnou možnost.

    Když vytváříte vlastní úložiště, můžete je chtít nastavit jako soukromé. V tomto modulu budete používat funkce GitHubu, které fungují jenom ve spojení s veřejnými úložišti a účty GitHub Enterprise.

  6. Vyberte Create repository (Vytvořit úložiště).

    Snímek obrazovky s rozhraním GitHubu, které zobrazuje stránku pro vytvoření úložiště

Důležité

Poslední cvičení v tomto modulu obsahuje důležité kroky čištění. Nezapomeňte postupovat podle kroků čištění, i když tento modul nedokončíte.

Klonování úložiště

Teď, když máte kopii úložiště šablony ve svém vlastním účtu, naklonujete toto úložiště místně, abyste v něm mohli začít pracovat.

  1. Vyberte Kód a pak vyberte ikonu Kopírovat adresu URL do schránky .

    Snímek obrazovky s rozhraním GitHubu, které zobrazuje nové úložiště Tlačítko pro kopírování adresy URL úložiště je zvýrazněné.

  2. Otevřete Visual Studio Code.

  3. Výběrem možnosti Terminálový>nový terminál otevřete okno terminálu editoru Visual Studio Code. Okno se obvykle otevře v dolní části obrazovky.

  4. V terminálu přejděte do adresáře, ve kterém chcete naklonovat úložiště GitHub na místním počítači. Pokud chcete například naklonovat úložiště ve složce úložišť , spusťte následující příkaz:

    cd repositories
    
  5. Zadejte git clone a vložte dříve zkopírovanou adresu URL, která vypadá přibližně takto:

    git clone https://github.com/mygithubuser/toy-reusable.git
    
  6. Znovu otevřete Visual Studio Code ve složce úložiště spuštěním následujícího příkazu v terminálu editoru Visual Studio Code:

    code --reuse-window toy-reusable
    

Přihlášení k Azure

Pokud chcete pracovat se skupinami prostředků v Azure, přihlaste se ke svému účtu Azure z terminálu Visual Studio Code. Ujistěte se, že jste nainstalovali nástroje Azure CLI a rozšíření účtu Azure pro Visual Studio Code.

  1. V nabídce Terminál vyberte Nový terminál. Okno terminálu se obvykle otevře v dolní polovině obrazovky.

    Výchozí prostředí je obvykle pwsh, jak je znázorněno na pravé straně okna terminálu.

    Snímek obrazovky okna terminálu editoru Visual Studio Code, ve kterém se jako možnost prostředí zobrazuje pwsh

  2. Vyberte rozevírací seznam Spustit profil a pak vyberte Azure Cloud Shell (Bash).

    Snímek obrazovky s oknem terminálu editoru Visual Studio Code Zobrazí se rozevírací seznam prostředí terminálu a položka nabídky Azure Cloud Shell (Bash).

    Otevře se nové prostředí.

Přihlášení k Azure pomocí Azure CLI

  1. V terminálu editoru Visual Studio Code spusťte následující příkaz pro přihlášení k Azure:

    az login
    
  2. V prohlížeči, který se otevře, se přihlaste ke svému účtu Azure.

Pokud chcete pracovat se skupinami prostředků v Azure, přihlaste se ke svému účtu Azure z terminálu Visual Studio Code. Ujistěte se, že jste nainstalovali Azure PowerShell a rozšíření účtu Azure pro Visual Studio Code.

  1. V nabídce Terminál vyberte Nový terminál. Okno terminálu se obvykle otevře v dolní polovině obrazovky.

    Výchozí prostředí je obvykle pwsh, jak je znázorněno na pravé straně okna terminálu.

    Snímek obrazovky okna terminálu editoru Visual Studio Code, ve kterém se jako možnost prostředí zobrazuje pwsh

  2. Vyberte rozevírací seznam Spustit profil a pak vyberte Azure Cloud Shell (PowerShell).

    Snímek obrazovky s oknem terminálu editoru Visual Studio Code Zobrazí se rozevírací seznam prostředí terminálu a položka nabídky Azure Cloud Shell (PowerShell).

    Otevře se nové prostředí.

Přihlášení k Azure přes Azure PowerShell

  1. V terminálu editoru Visual Studio Code spusťte následující příkaz pro přihlášení k Azure:

    Connect-AzAccount -UseDeviceAuthentication
    
  2. Podle pokynů k příkazu se přihlaste ke svému účtu Azure.

Vytvoření identity úlohy

Dále vytvořte identitu úlohy v Microsoft Entra ID pro pracovní postup nasazení.

K vytvoření identit úloh se příkazy Azure CLI používají jq k analýze dat z výstupu JSON. Pokud nemáte jq nainstalovaný, můžete pomocí bashe v Azure Cloud Shellu vytvořit identitu úlohy, skupinu prostředků a přiřazení role a připravit tajné kódy GitHubu.

  1. Spuštěním následujícího kódu definujte proměnné pro uživatelské jméno GitHubu a název úložiště. Nezapomeňte nahradit mygithubuser uživatelské jméno GitHubu, které jste si poznamenali dříve v tomto cvičení. Ujistěte se také, že zadáte správný název úložiště GitHub.

    githubOrganizationName='mygithubuser'
    githubRepositoryName='toy-reusable'
    
  2. Vytvořte identitu úlohy pro pracovní postup nasazení.

    applicationRegistrationDetails=$(az ad app create --display-name 'toy-reusable')
    applicationRegistrationObjectId=$(echo $applicationRegistrationDetails | jq -r '.id')
    applicationRegistrationAppId=$(echo $applicationRegistrationDetails | jq -r '.appId')
    
    az ad app federated-credential create \
       --id $applicationRegistrationObjectId \
       --parameters "{\"name\":\"toy-reusable-branch\",\"issuer\":\"https://token.actions.githubusercontent.com\",\"subject\":\"repo:${githubOrganizationName}/${githubRepositoryName}:ref:refs/heads/main\",\"audiences\":[\"api://AzureADTokenExchange\"]}"
    
  1. Spuštěním následujícího kódu definujte proměnné pro uživatelské jméno GitHubu a název úložiště. Nezapomeňte nahradit mygithubuser uživatelské jméno GitHubu, které jste si poznamenali dříve v tomto cvičení. Ujistěte se také, že zadáte správný název úložiště GitHub.

    $githubOrganizationName = 'mygithubuser'
    $githubRepositoryName = 'toy-reusable'
    
  2. Vytvořte identitu úlohy pro pracovní postup nasazení.

    $applicationRegistration = New-AzADApplication -DisplayName 'toy-reusable'
    New-AzADAppFederatedCredential `
       -Name 'toy-reusable-branch' `
       -ApplicationObjectId $applicationRegistration.Id `
       -Issuer 'https://token.actions.githubusercontent.com' `
       -Audience 'api://AzureADTokenExchange' `
       -Subject "repo:$($githubOrganizationName)/$($githubRepositoryName):ref:refs/heads/main"
    

Vytvoření skupiny prostředků v Azure a udělení přístupu k identitě úloh

Dále vytvořte skupinu prostředků pro váš web. Tento proces také udělí identitě úlohy roli Přispěvatel ve skupině prostředků, která umožňuje vašemu pracovnímu postupu nasazení do skupiny prostředků.

V terminálu editoru Visual Studio Code spusťte následující příkazy Azure CLI:

resourceGroupResourceId=$(az group create --name ToyReusable --location westus3 --query id --output tsv)

az ad sp create --id $applicationRegistrationObjectId
az role assignment create \
  --assignee $applicationRegistrationAppId \
  --role Contributor \
  --scope $resourceGroupResourceId

V terminálu editoru Visual Studio Code spusťte následující příkazy Azure PowerShellu:

$resourceGroup = New-AzResourceGroup -Name ToyReusable -Location westus3

New-AzADServicePrincipal -AppId $applicationRegistration.AppId
New-AzRoleAssignment `
  -ApplicationId $applicationRegistration.AppId `
  -RoleDefinitionName Contributor `
  -Scope $resourceGroup.ResourceId

Příprava tajných kódů GitHubu

Spuštěním následujícího kódu zobrazte hodnoty, které potřebujete vytvořit jako tajné kódy GitHubu:

echo "AZURE_CLIENT_ID: $applicationRegistrationAppId"
echo "AZURE_TENANT_ID: $(az account show --query tenantId --output tsv)"
echo "AZURE_SUBSCRIPTION_ID: $(az account show --query id --output tsv)"
$azureContext = Get-AzContext
Write-Host "AZURE_CLIENT_ID: $($applicationRegistration.AppId)"
Write-Host "AZURE_TENANT_ID: $($azureContext.Tenant.Id)"
Write-Host "AZURE_SUBSCRIPTION_ID: $($azureContext.Subscription.Id)"

Poznamenejte si hodnotu ID aplikace pro AZURE_CLIENT_ID. Tuto hodnotu můžete použít při vyčištění prostředků po dokončení tohoto modulu.

Vytvoření tajných kódů GitHubu

Vytvořili jste identitu úlohy a skupinu prostředků, do které se dá nasadit. Dále vytvořte tajné kódy v GitHub Actions.

  1. V prohlížeči přejděte do úložiště GitHub.

  2. Vyberte Nastavení>>Akce.

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

    Snímek obrazovky s rozhraním GitHubu se stránkou Tajné kódy Tlačítko Nový tajný kód úložiště je zvýrazněné.

  4. Pojmenujte tajný AZURE_CLIENT_ID.

  5. Do pole Hodnota vložte identifikátor GUID z prvního řádku výstupu terminálu. Nezahrnujte AZURE_CLIENT_IDdo hodnoty dvojtečku ani mezery.

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

    Snímek obrazovky s rozhraním GitHubu se stránkou New Secret (Nový tajný kód) Zadá se název a hodnota a zvýrazněné tlačítko Přidat tajný kód.

  7. Opakujte proces a vytvořte tajné kódy pro AZURE_TENANT_ID a AZURE_SUBSCRIPTION_ID a zkopírujte hodnoty z odpovídajících polí ve výstupu terminálu.

  8. Ověřte, že seznam tajných kódů teď zobrazuje všechny tři tajné kódy.

    Snímek obrazovky s rozhraním GitHubu zobrazující seznam tajných kódů