Cvičení – nastavení prostředí
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ů:
Vyberte Použít tuto šablonu>Vytvořit nové úložiště.
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.
Zadejte název nového projektu, například toy-website-auto-review.
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.
Vyberte Create repository (Vytvořit ú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.
Vyberte Kód a pak vyberte ikonu kopírování.
Otevřete Visual Studio Code.
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.
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
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
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.
V terminálu editoru Visual Studio Code spusťte následující příkaz pro přihlášení k Azure:
az login
V prohlížeči, který se otevře, se přihlaste ke svému účtu Azure.
V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:
Connect-AzAccount
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.
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'
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\"]}"
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'
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ů.
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
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.
V prohlížeči přejděte do úložiště GitHub.
Vyberte Nastavení>>Akce.
Vyberte Nový tajný klíč úložiště.
Pojmenujte tajný AZURE_CLIENT_ID.
Do pole Hodnota vložte identifikátor GUID z prvního řádku výstupu terminálu. Nezahrnujte
AZURE_CLIENT_ID
do hodnoty dvojtečku ani mezery.Vyberte Add secret (Přidat tajný kód).
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.
Ověřte, že seznam tajných kódů teď zobrazuje všechny tři tajné kódy.