Cvičení – přidání úlohy Preview do pracovního postupu
Chcete do pracovního postupu přidat další úlohu, abyste mohli zkontrolovat, jaké změny se v prostředí Azure provede.
Během tohoto procesu provedete následující úlohy:
- Aktualizujte soubor YAML definice pracovního postupu a přidejte novou úlohu ve verzi Preview.
- Přidejte prostředí do úložiště GitHub.
- Nakonfigurujte prostředí tak, aby vyžadovalo kontrolu.
- Aktualizujte soubor YAML pracovního postupu tak, aby používal prostředí pro úlohu nasazení.
- Prohlédněte si výsledky citlivostní dokumentace a schvalte spuštění pracovního postupu.
Aktualizace definice pracovního postupu pro přidání úlohy preview
Tady do pracovního postupu přidáte novou úlohu, která spustí operaci citlivostní operace.
V editoru Visual Studio Code otevřete soubor workflow.yml ve složce .github/workflows .
Mezi úlohy ověření a nasazení přidejte následující definici úlohy Preview:
preview: runs-on: ubuntu-latest needs: [lint, validate] steps: - uses: actions/checkout@v3 - uses: azure/login@v1 name: Sign in to Azure with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/arm-deploy@v1 name: Run what-if with: failOnStdErr: false resourceGroupName: ${{ env.AZURE_RESOURCEGROUP_NAME }} template: deploy/main.bicep parameters: > environmentType=${{ env.ENVIRONMENT_TYPE }} additionalArguments: --what-if
Všimněte si, že úloha Preview závisí na úspěšném dokončení lintu a ověření úloh.
Aktualizujte úlohu nasazení, aby byla závislá na úloze Preview:
deploy: runs-on: ubuntu-latest needs: preview steps: - uses: actions/checkout@v3 - uses: azure/login@v1 name: Sign in to Azure with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/arm-deploy@v1 name: Deploy website with: failOnStdErr: false deploymentName: ${{ github.run_number }} resourceGroupName: ${{ env.AZURE_RESOURCEGROUP_NAME }} template: ./deploy/main.bicep parameters: environmentType=${{ env.ENVIRONMENT_TYPE }}
Uložte změny souboru.
Přidání prostředí
V prohlížeči přejděte do nastavení>prostředí.
Vyberte Nové prostředí.
Jako název prostředí zadejte web .
Vyberte Konfigurovat prostředí.
V krocích nastavení pro tento modul jste už vytvořili federované přihlašovací údaje pro pracovní postup, který se použije při nasazení do prostředí.
Přidání požadovaného pravidla ochrany revidujících do prostředí
Vyberte pole Požadované revidujícím.
Přidejte do seznamu revidujících vlastní uživatelské jméno GitHubu.
Vyberte Uložit pravidla ochrany.
Výběrem možnosti Prostředí ukončete konfiguraci.
Aktualizace definice pracovního postupu tak, aby vyžadovala prostředí a revidujícím
Tady nakonfigurujete úlohu nasazení tak, aby běžela v prostředí webu , které jste vytvořili dříve.
Otevřete soubor workflow.yml v editoru Visual Studio Code.
environment
Přidejte parametr do úlohy nasazení. Nastavte hodnotu naWebsite
hodnotu tak, aby odpovídala názvu prostředí, které jste vytvořili:deploy: runs-on: ubuntu-latest environment: Website needs: preview steps: - uses: actions/checkout@v3 - uses: azure/login@v1 name: Sign in to Azure with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/arm-deploy@v1 name: Deploy website with: failOnStdErr: false deploymentName: ${{ github.run_number }} resourceGroupName: ${{ env.AZURE_RESOURCEGROUP_NAME }} template: ./deploy/main.bicep parameters: environmentType=${{ env.ENVIRONMENT_TYPE }}
Uložte soubor.
Ověření a potvrzení definice pracovního postupu
Ověřte, že váš soubor workflow.yml vypadá jako následující kód:
name: deploy-toy-website-test concurrency: toy-company on: push: branches: - main permissions: id-token: write contents: read env: AZURE_RESOURCEGROUP_NAME: ToyWebsiteTest ENVIRONMENT_TYPE: Test jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Run Bicep linter run: az bicep build --file deploy/main.bicep validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: azure/login@v1 name: Sign in to Azure with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/arm-deploy@v1 name: Run preflight validation with: deploymentName: ${{ github.run_number }} resourceGroupName: ${{ env.AZURE_RESOURCEGROUP_NAME }} template: ./deploy/main.bicep parameters: environmentType=${{ env.ENVIRONMENT_TYPE }} deploymentMode: Validate preview: runs-on: ubuntu-latest needs: [lint, validate] steps: - uses: actions/checkout@v3 - uses: azure/login@v1 name: Sign in to Azure with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/arm-deploy@v1 name: Run what-if with: failOnStdErr: false resourceGroupName: ${{ env.AZURE_RESOURCEGROUP_NAME }} template: deploy/main.bicep parameters: > environmentType=${{ env.ENVIRONMENT_TYPE }} additionalArguments: --what-if deploy: runs-on: ubuntu-latest environment: Website needs: preview steps: - uses: actions/checkout@v3 - uses: azure/login@v1 name: Sign in to Azure with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/arm-deploy@v1 name: Deploy website with: failOnStdErr: false deploymentName: ${{ github.run_number }} resourceGroupName: ${{ env.AZURE_RESOURCEGROUP_NAME }} template: ./deploy/main.bicep parameters: environmentType=${{ env.ENVIRONMENT_TYPE }}
Pokud soubor vypadá jinak, aktualizujte ho tak, aby odpovídal tomuto příkladu, a pak ho uložte.
Potvrďte a nasdílejte změny do úložiště Git spuštěním následujících příkazů v terminálu editoru Visual Studio Code:
git add . git commit -m "Add preview job" git push
Spusťte pracovní postup a zkontrolujte výstupy citlivostní kontroly.
V prohlížeči přejděte ke spuštění pracovního postupu.
Vyberte poslední spuštění pracovního postupu.
Počkejte, až pracovní postup dokončí úlohy lint, validate a Preview . I když GitHub stránku automaticky aktualizuje nejnovějším stavem, je vhodné stránku občas aktualizovat.
Všimněte si, že pracovní postup vás vyzve k revizi. V závislosti na tom, jak nastavíte účet GitHubu, obdržíte e-mail nebo webové oznámení s žádostí o kontrolu pracovního postupu.
Před schválením pokračování pracovního postupu zkontrolujete výsledky citlivostní dokumentace, abyste měli jistotu, že odpovídají vašim očekáváním.
Vyberte úlohu Preview.
Vyberte krok Spustit citlivostní analýzu a zkontrolujte změny, na kterých se příkaz citlivostní analýzy hlásí.
Všimněte si, že protokol pracovního postupu poskytuje výsledky citlivostní analýzy podobné následujícímu kódu:
Resource and property changes are indicated with these symbols: - Delete + Create ~ Modify = Nochange * Ignore The deployment will update the following scope: Scope: /subscriptions/***/resourceGroups/ToyWebsiteTest ~ Microsoft.OperationalInsights/workspaces/workspace-abcdefghijklm [2022-10-01] - properties.retentionInDays: 30 - properties.sku: name: "pergb2018" - properties.workspaceCapping: dailyQuotaGb: -1.0 ~ Microsoft.Web/sites/toy-website-abcdefghijklm [2022-03-01] + properties.siteConfig.localMySqlEnabled: false + properties.siteConfig.netFrameworkVersion: "v4.6" = Microsoft.Insights/components/toywebsite [2020-02-02] = Microsoft.Storage/storageAccounts/mystorageabcdefghijklm [2022-09-01] = Microsoft.Web/serverfarms/toy-website [2022-03-01] * microsoft.alertsmanagement/smartDetectorAlertRules/Failure Anomalies - toywebsite Resource changes: 2 to modify, 3 no change, 1 to ignore.
Operace citlivostní analýzy zjistila změnu pracovního prostoru služby Log Analytics a prostředků webu. Zjištěné změny jsou ale šum. Nepředstavují skutečné změny vašeho prostředku. Tým Azure v průběhu času pracuje na snížení šumu. Mezitím můžete zjištěné změny ignorovat.
Může se také zobrazit položka ve výstupu citlivostní citlivosti pro typ
microsoft.alertsmanagement/smartDetectorAlertRules/Failure Anomalies - toywebsite
prostředku . Jedná se o prostředek, který Application Insights vytvoří automaticky. Příkaz what-if zjistí, že v prostředku se neprovedou žádné změny.
Schválení spuštění pracovního postupu
Výběrem možnosti Souhrn se vrátíte do přehledu spuštění pracovního postupu.
Na panelu revizí vyberte tlačítko Zkontrolovat nasazení.
V automaticky otevíraném okně Zkontrolovat čekající nasazení vyberte prostředí webu . Do pole Opustit komentář zadejte Zkontrolovat výsledky citlivostní kontroly.
Vyberte Schválit a nasadit.
Sledování úspěšného nasazení
Po schválení spuštění pracovního postupu si všimněte, že se úloha nasazení spustí.
Počkejte, až se úloha dokončí.
Všimněte si, že spuštění pracovního postupu se úspěšně dokončí.