Kurz: Nasazení prostředí v CI/CD pomocí GitHubu a prostředí nasazení Azure

V tomto kurzu se dozvíte, jak integrovat prostředí nasazení Azure do kanálu CI/CD. Můžete použít libovolného poskytovatele GitOps, který podporuje CI/CD, jako je GitHub Actions, Azure Arc, GitLab nebo Jenkins.

Kontinuální integrace a průběžné doručování (CI/CD) je přístup pro vývoj softwaru, který pomáhá týmům automatizovat proces sestavování, testování a nasazování změn softwaru. CI/CD umožňuje vydávat změny softwaru častěji a s větší jistotou.

Používáte pracovní postup, který obsahuje tři větve: hlavní, vývoj a testování.

  • Hlavní větev se vždy považuje za produkční.
  • Větve funkcí vytvoříte z hlavní větve.
  • Vytváříte žádosti o přijetí změn pro sloučení větví funkcí do hlavního.

Tento pracovní postup je malý příklad pro účely tohoto kurzu. Pracovní postupy z reálného světa můžou být složitější.

Než začnete s tímto kurzem, můžete se seznámit s prostředky a koncepty prostředí nasazení tím, že si projdete klíčové koncepty pro prostředí nasazení Azure.

V tomto kurzu se naučíte:

  • Vytvoření a konfigurace vývojového centra
  • Vytvořte trezor klíčů.
  • Vytvoření a konfigurace úložiště GitHub
  • Připojení katalogu do vývojového centra
  • Konfigurace identit nasazení
  • Konfigurace prostředí GitHubu
  • Testování kanálu CI/CD

Požadavky

1. Vytvoření a konfigurace vývojového centra

V této části vytvoříte vývojové centrum a projekt prostředí nasazení Azure se třemi typy prostředí: Vývoj, Testování a Prod.

  • Typ prostředí Prod obsahuje jedno produkční prostředí.
  • Ve vývojovém prostředí se vytvoří nové prostředí pro každou větev funkcí.
  • Pro každou žádost o přijetí změn se vytvoří nové prostředí.

1.1 Nastavení Azure CLI

Začněte tím, že se přihlásíte k Azure. Spusťte následující příkaz a podle pokynů dokončete proces ověřování.

az login

Dále nainstalujte rozšíření Azure devcenter pro Azure CLI.

az extension add --name devcenter --upgrade

Teď, když je aktuální rozšíření nainstalované, zaregistrujte Microsoft.DevCenter obor názvů.

az provider register --namespace Microsoft.DevCenter

Tip

V tomto kurzu uložíte několik hodnot jako proměnné prostředí, které budete později používat. Tyto hodnoty můžete také zaznamenat jinde, abyste měli jistotu, že jsou v případě potřeby dostupné.

Získejte ID uživatele a nastavte ho na proměnnou prostředí pro pozdější použití:

MY_AZURE_ID=$(az ad signed-in-user show --query id -o tsv)

Načtěte ID předplatného pro vaše aktuální předplatné.

AZURE_SUBSCRIPTION_ID=$(az account show --query id --output tsv)

Načtěte ID tenanta pro aktuálního tenanta.

AZURE_TENANT_ID=$(az account show --query tenantId --output tsv)

Nastavte následující proměnné prostředí:

LOCATION="eastus"
AZURE_RESOURCE_GROUP=<resourceGroupName>
AZURE_DEVCENTER=<devcenterName>
AZURE_PROJECT=<projectName>
AZURE_KEYVAULT=<keyVaultName>

Poznámka:

Musíte použít globálně jedinečný název trezoru klíčů. V opačném případě se může zobrazit následující chyba: Code: VaultAlreadyExists Message: The vault name 'mykeyvaultname' is already in use. Vault names are globally unique so it is possible that the name is already taken.

1.2 Vytvoření vývojového centra

Dev Center je kolekce projektů a prostředí, která mají podobná nastavení. Vývojová centra poskytují přístup k katalogu šablon a artefaktů, které je možné použít k vytváření prostředí. Vývojová centra také poskytují způsob správy přístupu k prostředím a projektům.

Vytvořte skupinu prostředků.

az group create \
  --name $AZURE_RESOURCE_GROUP \
  --location $LOCATION

Vytvořte nové vývojové centrum.

az devcenter admin devcenter create \
  --name $AZURE_DEVCENTER \
  --identity-type SystemAssigned \
  --resource-group $AZURE_RESOURCE_GROUP \
  --location $LOCATION

Předchozí příkaz vypíše JSON. Uložte hodnoty pro id proměnné prostředí a identity.principalId jako proměnné prostředí, abyste je mohli použít později.

AZURE_DEVCENTER_ID=<id>
AZURE_DEVCENTER_PRINCIPAL_ID=<identity.principalId>

1.3 Přiřazení role vlastníka identity dev center v předplatném

Dev Center potřebuje oprávnění k přiřazování rolí u předplatných přidružených k typům prostředí.

Abyste snížili zbytečnou složitost, použijete v tomto kurzu jedno předplatné pro vývojové centrum a všechny typy prostředí. V praxi by předplatná vývojového centra a cílového nasazení pravděpodobně byla oddělená předplatná s různými použitými zásadami.

az role assignment create \
  --scope /subscriptions/$AZURE_SUBSCRIPTION_ID \
  --role Owner \
  --assignee-object-id $AZURE_DEVCENTER_PRINCIPAL_ID \
  --assignee-principal-type ServicePrincipal

1.4 Vytvoření typů prostředí

Na úrovni dev center definují typy prostředí prostředí, která můžou vývojové týmy vytvářet, jako jsou vývoj, testování, sandbox, předprodukční prostředí nebo produkční prostředí.

Vytvořte tři nové typy prostředí: Vývoj, Testování a Prod.

az devcenter admin environment-type create \
  --name Dev \
  --resource-group $AZURE_RESOURCE_GROUP \
  --dev-center $AZURE_DEVCENTER
az devcenter admin environment-type create \
  --name Test \
  --resource-group $AZURE_RESOURCE_GROUP \
  --dev-center $AZURE_DEVCENTER
az devcenter admin environment-type create \
  --name Prod \
  --resource-group $AZURE_RESOURCE_GROUP \
  --dev-center $AZURE_DEVCENTER

1.5 Vytvoření projektu

Projekt je bodem přístupu pro vývojový tým. Každý projekt je přidružený k vývojovému centru.

Vytvoření nového projektu

az devcenter admin project create \
  --name $AZURE_PROJECT \
  --resource-group $AZURE_RESOURCE_GROUP \
  --location $LOCATION \
  --dev-center-id $AZURE_DEVCENTER_ID

Předchozí příkaz vypíše JSON. id Uložte hodnotu jako proměnnou prostředí, abyste ji mohli použít později.

AZURE_PROJECT_ID=<id>

Přiřaďte si roli projektu DevCenter Správa v projektu.

az role assignment create \
  --scope "$AZURE_PROJECT_ID" \
  --role "DevCenter Project Admin" \
  --assignee-object-id $MY_AZURE_ID \
  --assignee-principal-type User

1.6 Vytvoření typů prostředí projektu

Na úrovni projektu inženýři platformy určují, které typy prostředí jsou vhodné pro vývojový tým.

Vytvořte nový typ prostředí projektu pro každý z typů prostředí, které jste vytvořili ve vývojovém centru.

az devcenter admin project-environment-type create \
  --name Dev \
  --roles "{\"b24988ac-6180-42a0-ab88-20f7382dd24c\":{}}" \
  --deployment-target-id /subscriptions/$AZURE_SUBSCRIPTION_ID \
  --resource-group $AZURE_RESOURCE_GROUP \
  --location $LOCATION \
  --project $AZURE_PROJECT \
  --identity-type SystemAssigned \
  --status Enabled
az devcenter admin project-environment-type create \
  --name Test \
  --roles "{\"b24988ac-6180-42a0-ab88-20f7382dd24c\":{}}" \
  --deployment-target-id /subscriptions/$AZURE_SUBSCRIPTION_ID \
  --resource-group $AZURE_RESOURCE_GROUP \
  --location $LOCATION \
  --project $AZURE_PROJECT \
  --identity-type SystemAssigned \
  --status Enabled
az devcenter admin project-environment-type create \
  --name Prod \
  --roles "{\"b24988ac-6180-42a0-ab88-20f7382dd24c\":{}}" \
  --deployment-target-id /subscriptions/$AZURE_SUBSCRIPTION_ID \
  --resource-group $AZURE_RESOURCE_GROUP \
  --location $LOCATION \
  --project $AZURE_PROJECT \
  --identity-type SystemAssigned \
  --status Enabled

2. Vytvoření trezoru klíčů

V této části vytvoříte nový trezor klíčů. Tento trezor klíčů použijete později v kurzu k uložení osobního přístupového tokenu z GitHubu.

az keyvault create \
  --name $AZURE_KEYVAULT \
  --resource-group $AZURE_RESOURCE_GROUP \
  --location $LOCATION \
  --enable-rbac-authorization true

Znovu uložte id výstup JSON předchozího příkazu jako proměnnou prostředí.

AZURE_KEYVAULT_ID=<id>

Dejte sobě roli Správa istrator služby Key Vault v novém trezoru klíčů.

az role assignment create \
  --scope $AZURE_KEYVAULT_ID \
  --role "Key Vault Administrator" \
  --assignee-object-id $MY_AZURE_ID \
  --assignee-principal-type User

Přiřaďte identitu vývojového centra roli uživatele tajných kódů služby Key Vault.

az role assignment create \
  --scope $AZURE_KEYVAULT_ID \
  --role "Key Vault Secrets User" \
  --assignee-object-id $AZURE_DEVCENTER_PRINCIPAL_ID \
  --assignee-principal-type ServicePrincipal

3. Vytvoření a konfigurace úložiště GitHub

V této části vytvoříte nové úložiště GitHub pro uložení katalogu. Prostředí nasazení Azure podporuje úložiště GitHub i Azure DevOps. V tomto kurzu použijete GitHub.

3.1 Vytvoření nového úložiště GitHub

V tomto kroku vytvoříte v účtu GitHubu nové úložiště, které má předdefinovanou adresářovou strukturu, větve a soubory. Tyto položky se generují z ukázkového úložiště šablon.

  1. Pomocí tohoto odkazu vygenerujte nové úložiště GitHub z ukázkové šablony.

    Screenshot showing the GitHub create repository from template page.

  2. Pokud nemáte placený účet GitHubu, nastavte úložiště na Veřejné.

  3. Vyberte možnost Create repository from template (Vytvořit úložiště ze šablony).

  4. Na kartě Akce si všimněte, že akce Vytvořit prostředí selže. Toto chování je očekávané, můžete pokračovat dalším krokem.

3.2 Ochrana hlavní větve úložiště

Důležité větve můžete chránit nastavením pravidel ochrany větví. Pravidla ochrany definují, jestli můžou spolupracovníci odstranit nebo vynutit vložení do větve. Také nastavují požadavky pro všechny nasdílení změn do větve, například předávání kontrol stavu nebo historii lineárního potvrzení.

Poznámka:

Chráněné větve jsou dostupné ve veřejných úložištích s GitHubem Free a GitHubem Free pro organizace a ve veřejných a privátních úložištích s GitHubEm Pro, Týmem GitHubu, Cloudem GitHub Enterprise a GitHub Enterprise Serverem. Další informace najdete v produktech GitHubu.

  1. Pokud ještě není otevřený, přejděte na hlavní stránku úložiště.

  2. Pod názvem úložiště vyberte Nastavení. Pokud kartu Nastavení nevidíte, vyberte rozevírací nabídku ... a pak vyberte Nastavení.

    Screenshot showing the GitHub repository page with settings highlighted.

  3. V části Kód a automatizace bočního panelu vyberte Větve.

    Screenshot showing the settings page, with branches highlighted.

  4. V části Pravidla ochrany větví vyberte Přidat pravidlo ochrany větve.

    Screenshot showing the branch protection rule page, with Add branch protection rule highlighted.

  5. V části Vzor názvu větve zadejte main.

    Screenshot showing the branch name pattern text box, with main highlighted.

  6. V části Chránit odpovídající větve vyberte Před sloučením vyžadovat žádost o přijetí změn.

    Screenshot showing protect matching branches with Require a pull request before merging selected and highlighted.

  7. Volitelně můžete povolit další pravidla ochrany.

  8. Vyberte Vytvořit.

3.3 Konfigurace proměnných úložiště

Poznámka:

Konfigurační proměnné pro GitHub Actions jsou v beta verzi a můžou se změnit.

  1. V části Zabezpečení na bočním panelu vyberte Tajné kódy a proměnné a pak vyberte Akce.

    Screenshot showing the Security section of the sidebar with Actions highlighted.

  2. Vyberte kartu Proměnné.

  3. Pro každou položku v tabulce:

    1. Vyberte Novou proměnnou úložiště.
    2. Do pole Název zadejte název proměnné.
    3. Do pole Hodnota zadejte hodnotu popsanou v tabulce.
    4. Vyberte Přidat proměnnou.
    Název proměnné Hodnota proměnné
    AZURE_DEVCENTER Název vašeho vývojového centra
    AZURE_PROJECT Název projektu
    AZURE_CATALOG Nastavit na Prostředí
    AZURE_CATALOG_ITEM Nastavit na FunctionApp
    AZURE_SUBSCRIPTION_ID ID vašeho předplatného Azure
    AZURE_TENANT_ID ID tenanta Azure

    Screenshot showing the variables page with the variables table.

3.4 Vytvoření tokenu pat GitHubu

Dále vytvořte jemně odstupňovaný osobní přístupový token , který vývojovému centru prostředí pro nasazení Azure umožní připojit se k vašemu úložišti a využívat katalog prostředí.

Poznámka:

Jemně odstupňované osobní přístupové tokeny jsou aktuálně v beta verzi a můžou se změnit. Pokud chcete zanechat zpětnou vazbu, podívejte se na diskuzi o zpětné vazbě.

  1. V pravém horním rohu libovolné stránky na GitHub.com vyberte profilovou fotku a pak vyberte Nastavení.

  2. Na levém bočním panelu vyberte Nastavení pro vývojáře.

  3. Na levém bočním panelu v části Osobní přístupové tokeny vyberte Jemně odstupňované tokeny a pak vyberte Vygenerovat nový token.

    Screenshot showing the GitHub personal access token options, with Fine-grained tokens and Generate new token highlighted.

  4. Na stránce Nový jemně odstupňovaný osobní přístupový token zadejte v části Název tokenu název tokenu.

  5. V části Konec platnosti vyberte vypršení platnosti tokenu.

  6. V části Vlastník prostředku vyberte svého uživatele GitHubu.

  7. V části Přístup k úložišti vyberte Pouze úložiště a pak v rozevíracím seznamu Vybrané úložiště vyhledejte a vyberte úložiště, které jste vytvořili.

    Screenshot showing GitHub repository access options, with Only select repositories highlighted.

  8. V části Oprávnění vyberte Oprávnění úložiště a změňte obsah na Jen pro čtení.

    Screenshot showing GitHub repository permissions with Contents highlighted.

  9. Vyberte Vygenerovat token.

  10. Zkopírujte a uložte svůj osobní přístupový token. Nemůžete ho znovu zobrazit.

3.5 Uložení osobního přístupového tokenu do trezoru klíčů

Dále uložte osobní přístupový token jako tajný klíč trezoru klíčů s názvem pat.

az keyvault secret set \
    --name pat \
    --vault-name $AZURE_KEYVAULT \
    --value <personalAccessToken>

4. Připojení katalog do vývojového centra

V prostředích nasazení Azure je katalog úložiště, které obsahuje sadu definic prostředí. Položky katalogu se skládají z šablony infrastruktury jako kódu (IaC) a souboru prostředí, který funguje jako manifest. Šablona definuje prostředí a soubor prostředí poskytuje metadata o šabloně. Vývojové týmy používají definice prostředí z katalogu k vytváření prostředí.

Šablona, kterou jste použili k vytvoření úložiště GitHub, obsahuje katalog ve složce Prostředí .

Přidání katalogu do vývojového centra

V následujícím příkazu nahraďte < Organization/Repository > názvem vaší organizace a úložiště GitHub.

az devcenter admin catalog create \
    --name Environments \
    --resource-group $AZURE_RESOURCE_GROUP \
    --dev-center $AZURE_DEVCENTER \
    --git-hub path="/Environments" branch="main" secret-identifier="https://$AZURE_KEYVAULT.vault.azure.net/secrets/pat" uri="https://github.com/< Organization/Repository >.git"

5. Konfigurace identit nasazení

OpenID Připojení s GitHub Actions je metoda ověřování, která využívá krátkodobé tokeny k zajištění posílení zabezpečení. Doporučujeme ověřit GitHub Actions v Azure.

Instanční objekt můžete také ověřit přímo pomocí tajného kódu, ale tento kurz je mimo rozsah.

5.1 Generování identit nasazení

  1. Zaregistrujte aplikace Microsoft Entra a instanční objekty pro každý ze tří typů prostředí.

    Vytvořte aplikaci Microsoft Entra pro vývoj.

    az ad app create --display-name "$AZURE_PROJECT-Dev"
    

    Tento příkaz vypíše JSON s použitím id přihlašovacích údajů, které použijete při vytváření federovaných přihlašovacích údajů pomocí rozhraní Graph API, a id klienta (označovaného appId také jako ID klienta).

    Nastavte následující proměnné prostředí:

    DEV_AZURE_CLIENT_ID=<appId>
    DEV_APPLICATION_ID=<id>
    

    Opakujte pro test.

    az ad app create --display-name "$AZURE_PROJECT-Test"
    
    TEST_AZURE_CLIENT_ID=<appId>
    TEST_APPLICATION_ID=<id>
    

    A pro Prod.

    az ad app create --display-name "$AZURE_PROJECT-Prod"
    
    PROD_AZURE_CLIENT_ID=<appId>
    PROD_APPLICATION_ID=<id>
    
  2. Vytvořte instanční objekt pro každou aplikaci.

    Spuštěním následujícího příkazu vytvořte nový instanční objekt pro vývoj.

     az ad sp create --id $DEV_AZURE_CLIENT_ID
    

    Tento příkaz vygeneruje výstup JSON s jiným id kódem a použije se v dalším kroku.

    Nastavte následující proměnné prostředí:

    DEV_SERVICE_PRINCIPAL_ID=<id>
    

    Opakujte pro test.

     az ad sp create --id $TEST_AZURE_CLIENT_ID
    
    TEST_SERVICE_PRINCIPAL_ID=<id>
    

    A pro Prod.

     az ad sp create --id $PROD_AZURE_CLIENT_ID
    
    PROD_SERVICE_PRINCIPAL_ID=<id>
    
  3. Spuštěním následujících příkazů vytvořte nové přihlašovací údaje federované identity pro každou aplikaci služby Active Directory.

    V každém ze tří následujících příkazů nahraďte < Organization/Repository > názvem vaší organizace a úložiště GitHub.

    Vytvořte přihlašovací údaje federované identity pro vývoj.

    az rest --method POST \
        --uri "https://graph.microsoft.com/beta/applications/$DEV_APPLICATION_ID/federatedIdentityCredentials" \
        --body '{"name":"ADEDev","issuer":"https://token.actions.githubusercontent.com","subject":"repo:< Organization/Repository >:environment:Dev","description":"Dev","audiences":["api://AzureADTokenExchange"]}'
    

    Pro testování.

    az rest --method POST \
        --uri "https://graph.microsoft.com/beta/applications/$TEST_APPLICATION_ID/federatedIdentityCredentials" \
        --body '{"name":"ADETest","issuer":"https://token.actions.githubusercontent.com","subject":"repo:< Organization/Repository >:environment:Test","description":"Test","audiences":["api://AzureADTokenExchange"]}'
    

    A pro Prod.

    az rest --method POST \
        --uri "https://graph.microsoft.com/beta/applications/$PROD_APPLICATION_ID/federatedIdentityCredentials" \
        --body '{"name":"ADEProd","issuer":"https://token.actions.githubusercontent.com","subject":"repo:< Organization/Repository >:environment:Prod","description":"Prod","audiences":["api://AzureADTokenExchange"]}'
    

5.2 Přiřazení rolí identit nasazení

  1. Přiřaďte jednotlivým identitě nasazení roli Čtenář v projektu.

    az role assignment create \
        --scope "$AZURE_PROJECT_ID" \
        --role Reader \
        --assignee-object-id $DEV_SERVICE_PRINCIPAL_ID \
        --assignee-principal-type ServicePrincipal
    
    az role assignment create \
        --scope "$AZURE_PROJECT_ID" \
        --role Reader \
        --assignee-object-id $TEST_SERVICE_PRINCIPAL_ID \
        --assignee-principal-type ServicePrincipal
    
    az role assignment create \
        --scope "$AZURE_PROJECT_ID" \
        --role Reader \
        --assignee-object-id $PROD_SERVICE_PRINCIPAL_ID \
        --assignee-principal-type ServicePrincipal
    
  2. Přiřaďte každou identitu nasazení roli Uživatele prostředí nasazení k příslušnému typu prostředí.

    az role assignment create \
        --scope "$AZURE_PROJECT_ID/environmentTypes/Dev" \
        --role "Deployment Environments User" \
        --assignee-object-id $DEV_SERVICE_PRINCIPAL_ID \
        --assignee-principal-type ServicePrincipal
    
    az role assignment create \
        --scope "$AZURE_PROJECT_ID/environmentTypes/Test" \
        --role "Deployment Environments User" \
        --assignee-object-id $TEST_SERVICE_PRINCIPAL_ID \
        --assignee-principal-type ServicePrincipal
    
    az role assignment create \
        --scope "$AZURE_PROJECT_ID/environmentTypes/Prod" \
        --role "Deployment Environments User" \
        --assignee-object-id $PROD_SERVICE_PRINCIPAL_ID \
        --assignee-principal-type ServicePrincipal
    

6. Konfigurace prostředí GitHubu

S prostředími GitHubu můžete nakonfigurovat prostředí s pravidly ochrany a tajnými kódy. Úloha pracovního postupu, která odkazuje na prostředí, musí před spuštěním nebo přístupem k tajným kódům prostředí dodržovat všechna pravidla ochrany prostředí.

Vytvořte vývojová, testovací a prodová prostředí, která se mapuje na typy prostředí v projektu Prostředí nasazení Azure.

Poznámka:

Prostředí, tajné kódy prostředí a pravidla ochrany prostředí jsou k dispozici ve veřejných úložištích pro všechny produkty. Pro přístup k prostředím, tajným kódům prostředí a větvím nasazení v privátních nebo interních úložištích musíte použít GitHub Pro, GitHub Team nebo GitHub Enterprise. Pro přístup k jiným pravidlům ochrany prostředí v privátních nebo interních úložištích musíte použít GitHub Enterprise. Další informace najdete v produktech GitHubu.

6.1 Vytvoření vývojového prostředí

  1. Na GitHubu přejděte na hlavní stránku úložiště.

  2. Pod názvem úložiště vyberte Nastavení. Pokud kartu Nastavení nevidíte, vyberte rozevírací nabídku ... a pak vyberte Nastavení.

  3. Na levém bočním panelu vyberte Prostředí.

  4. Vyberte Nové prostředí a jako název prostředí zadejte Dev a pak vyberte Konfigurovat prostředí.

    Screenshot showing the Environments Add pane, with the environment name Dev, and Configure Environment highlighted.

  5. V části Tajné kódy prostředí vyberte Přidat tajný klíč a zadejte AZURE_CLIENT_ID pro název.

    Screenshot showing the Environment Configure Dev pane, with Add secret highlighted.

  6. Jako hodnotu zadejte ID klienta (appId) pro aplikaci *Dev**Microsoft Entra, kterou jste vytvořili dříve (uloženou $DEV_AZURE_CLIENT_ID jako proměnnou prostředí).

    Screenshot of the Add secret box with the name AZURE CLIENT ID, the value set to an ID number, and add secret highlighted.

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

6.2 Vytvoření testovacího prostředí

Výběrem možnosti Prostředí na levém bočním panelu se vraťte na hlavní stránku prostředí.

  1. Vyberte Nové prostředí a zadejte Test pro název prostředí a pak vyberte Konfigurovat prostředí.

  2. V části Tajné kódy prostředí vyberte Přidat tajný klíč a zadejte AZURE_CLIENT_ID pro název.

  3. Jako hodnotu zadejte ID klienta (appId) pro aplikaci Test Microsoft Entra, kterou jste vytvořili dříve (uloženou $TEST_AZURE_CLIENT_ID jako proměnnou prostředí).

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

6.3 Vytvoření prostředí Prod

Ještě jednou se vraťte na hlavní stránku prostředí tak , že na levém bočním panelu vyberete Prostředí .

  1. Vyberte Nové prostředí a jako název prostředí zadejte Název prostředí a pak vyberte Konfigurovat prostředí.

  2. V části Tajné kódy prostředí vyberte Přidat tajný klíč a zadejte AZURE_CLIENT_ID pro název.

  3. Jako hodnotu zadejte ID klienta (appId) pro aplikaci Prod Microsoft Entra, kterou jste vytvořili dříve (uloženou $PROD_AZURE_CLIENT_ID jako proměnnou prostředí).

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

V dalším kroku nastavíte sami sebe jako povinného kontrolora pro toto prostředí. Při pokusu o nasazení do nástroje Prod čekají akce GitHub Actions před zahájením schválení. Zatímco úloha čeká na schválení, má stav Čekání. Pokud se úloha neschválila do 30 dnů, automaticky selže.

Další informace o prostředích a požadovaných schváleních najdete v tématu Použití prostředí pro nasazení.

  1. Vyberte Požadované revidujícím.

  2. Vyhledejte a vyberte uživatele GitHubu. Můžete zadat až šest lidí nebo týmů. Aby mohli pokračovat, musí úlohu schválit jenom jeden z požadovaných kontrolorů.

  3. Vyberte Uložit pravidla ochrany.

Nakonec nakonfigurujte main jako větev nasazení:

  1. V rozevíracím seznamu Větve nasazení zvolte Vybrané větve.

  2. Vyberte Přidat pravidlo větve nasazení a zadejte mainvzor názvu větve.

  3. Vyberte položku Přidat pravidlo.

7. Testování kanálu CI/CD

V této části provedete nějaké změny v úložišti a otestujete kanál CI/CD.

7.1 Klonování úložiště

  1. V terminálu přejděte do složky, do které chcete úložiště naklonovat místně.

  2. Naklonujte úložiště. Nezapomeňte nahradit < Organization/Repository > v následujícím příkazu názvem vaší organizace a úložiště GitHub.

    git clone https://github.com/< Organization/Repository >.git
    
  3. Přejděte do naklonovaného adresáře.

    cd <repository>
    
  4. Dále vytvořte novou větev a publikujte ji vzdáleně.

    git checkout -b feature1
    
    git push -u origin feature1
    

    V Azure se vytvoří nové prostředí specifické pro tuto větev.

  5. Na GitHubu přejděte na hlavní stránku nově vytvořeného úložiště.

  6. Pod názvem úložiště vyberte Akce.

    Měl by se zobrazit nový pracovní postup vytvoření prostředí spuštěný.

7.2 Provedení změny kódu

  1. Otevřete místně naklonované úložiště ve VS Code.

  2. V ADE. Složka kurzu, proveďte změnu souboru.

  3. Uložte změnu.

7.3 Nasdílení změn pro aktualizaci prostředí

  1. Připravte změny a nasdílejte změny do feature1 větve.

    git add .
    git commit -m '<commit message>'
    git push
    
  2. Na stránce Akce úložiště uvidíte spuštěný nový pracovní postup prostředí aktualizace.

7.4 Vytvoření žádosti o přijetí změn

  1. Vytvořte žádost o main <- feature1přijetí změn na GitHubu.

  2. Na stránce Akce úložiště uvidíte, že se spustí nový pracovní postup, který vytvoří prostředí specifické pro žádost o přijetí změn pomocí typu testovacího prostředí.

7.5 Sloučení žádosti o přijetí změn

  1. Na GitHubu přejděte na žádost o přijetí změn, kterou jste vytvořili.

  2. Sloučí žádost o přijetí změn.

    Vaše změny se publikují do produkčního prostředí a odstraní se prostředí větví a žádostí o přijetí změn.

Vyčištění prostředků

Pokud nechcete používat žádné prostředky, které jste vytvořili, odstraňte je, abyste za ně nemuseli účtovat žádné další poplatky. Pokud jste ukázkovou aplikaci nasadili do jiné skupiny prostředků, můžete zopakovat následující kroky.

Odstranění prostředků pomocí webu Azure Portal:

  1. V levém horním rohu vyberte tlačítko nabídky a pak vyberte Skupiny prostředků.

  2. V seznamu vyberte skupinu prostředků, kterou jste vytvořili.

  3. Vyberte Odstranit skupinu prostředků.

  4. Zadejte název skupiny prostředků. Poté vyberte Odstranit.

Pokud chcete odstranit prostředky pomocí Azure CLI, zadejte následující příkaz:

az group delete --name <my-dev-center-rg>

Nezapomeňte, že odstraněním skupiny prostředků odstraníte všechny prostředky v ní.