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.

Před nastavením pracovních postupů žádostí o přijetí změn vaší společnosti je potřeba nakonfigurovat prostředí.

V této lekci se ujistěte, že máte nastavená prostředí Azure a GitHub, abyste mohli úspěšně dokončit 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 identitu úlohy v Microsoft Entra ID.
  • Vytvořte tajný kód na GitHubu.

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

V této části nastavíte úložiště GitHub tak, aby dokončilo zbytek tohoto modulu vytvořením nového úložiště založeného na úložišti šablony. Úložiště šablon obsahuje soubory, které potřebujete, abyste mohli začít s tímto modulem.

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 už dokončili předchozí modul ve studijním programu, podle těchto pokynů vytvořte nové úložiště a pojmenujte ho novým názvem.

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

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

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

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

    Snímek obrazovky s rozhraním GitHubu zobrazujícím úložiště šablony se zvýrazněným tlačítkem Použít tuto šablonu

  2. Poznamenejte si název uživatelského jména nebo organizace GitHubu. V tomto příkladu je uživatelské jméno GitHubu mygithubuser. Tento název budete brzy potřebovat.

  3. Zadejte název nového projektu, například toy-website-auto-review.

  4. Vyberte veřejnou možnost.

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

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

    Snímek obrazovky s rozhraním GitHubu zobrazující stránku pro vytvoření úložiště

Klonování úložiště

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

  1. Vyberte Kód a pak vyberte ikonu kopírování.

    Snímek obrazovky s rozhraním GitHubu zobrazujícím nové úložiště se zvýrazněným tlačítkem kopírování U R L úložiště

  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, do kterého chcete naklonovat úložiště GitHub na místním počítači. Pokud chcete například naklonovat úložiště do složky toy-website-auto-review , spusťte následující příkaz:

    cd toy-website-auto-review
    
  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-website-auto-review.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 -r toy-website-auto-review
    

Přihlášení k Azure

Teď, když jste úložiště naklonovali místně do počítače, se přihlásíte ke svému prostředí Azure. Účet Azure použijete k vytvoření identity úloh pro pracovní postupy GitHub Actions, které se mají použít.

  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.

  1. V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:

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

Vytvoření identity úlohy

Později v tomto modulu Microsoft Learn pracovní postup žádosti o přijetí změn vytvoří ve vašem předplatném skupiny prostředků a prostředky. Pokud chcete nasadit prostředky, musíte vytvořit identitu úlohy a udělit jí roli Přispěvatel ve vašem předplatném.

Upozorňující

Identita úloh, kterou zde vytvoříte, má vysokou úroveň přístupu k vašemu předplatnému Azure. Pokud se chcete vyhnout náhodným problémům, použijte neprodukční předplatné. Tyto kroky nespustíte v prostředí, které obsahuje žádné z vašich produkčních úloh.

Ve vlastních pracovních postupech ověřování žádostí o přijetí změn doporučujeme použít vyhrazené předplatné Azure.

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í rolí 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-website-auto-review'
    
  2. Vytvořte identitu úlohy pro pracovní postup nasazení.

    applicationRegistrationDetails=$(az ad app create --display-name 'toy-website-auto-review')
    applicationRegistrationObjectId=$(echo $applicationRegistrationDetails | jq -r '.id')
    applicationRegistrationAppId=$(echo $applicationRegistrationDetails | jq -r '.appId')
    
    az ad app federated-credential create \
       --id $applicationRegistrationObjectId \
       --parameters "{\"name\":\"toy-website-auto-review\",\"issuer\":\"https://token.actions.githubusercontent.com\",\"subject\":\"repo:${githubOrganizationName}/${githubRepositoryName}:pull_request\",\"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-website-auto-review'
    
  2. Vytvořte identitu úlohy pro pracovní postup nasazení.

    $applicationRegistration = New-AzADApplication -DisplayName 'toy-website-auto-review'
    New-AzADAppFederatedCredential `
       -Name 'toy-website-auto-review' `
       -ApplicationObjectId $applicationRegistration.Id `
       -Issuer 'https://token.actions.githubusercontent.com' `
       -Audience 'api://AzureADTokenExchange' `
       -Subject "repo:$($githubOrganizationName)/$($githubRepositoryName):pull_request"
    

Udělení přístupu identitě úlohy k vašemu předplatnému

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ů.

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

    az ad sp create --id $applicationRegistrationObjectId
    az role assignment create \
       --assignee $applicationRegistrationAppId \
       --role Contributor
    
  1. V terminálu editoru Visual Studio Code spusťte následující příkazy Azure PowerShellu:

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

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 udělili jí oprávnění k nasazení do předplatného. 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 se zvýrazněným tlačítkem Vytvořit tajný kód úložiště

  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 Nový tajný kód se zvýrazněným názvem a hodnotou a zvýrazněným tlačítkem 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ů