Cvičení – přidání fáze Preview do kanálu
Do kanálu chcete přidat další fázi, abyste mohli zkontrolovat, jaké změny se v prostředí Azure provede.
Během tohoto procesu:
- Aktualizujte soubor YAML kanálu, aby se přidala nová fáze preview.
- Přidejte prostředí do Azure Pipelines.
- Nakonfigurujte prostředí tak, aby vyžadovalo schválení.
- Aktualizujte soubor YAML kanálu tak, aby používal prostředí pro fázi nasazení.
- Prohlédněte si výsledky citlivostní dokumentace a schvalte spuštění kanálu.
Aktualizace definice kanálu pro přidání fáze preview
V této části přidáte do kanálu novou fázi, která spustí operaci citlivostní operace.
V editoru Visual Studio Code otevřete soubor azure-pipelines.yml ve složce deploy .
Mezi fáze ověření a nasazení přidejte následující definici fáze Preview:
- stage: Preview jobs: - job: PreviewAzureChanges displayName: Preview Azure changes steps: - task: AzureCLI@2 name: RunWhatIf displayName: Run what-if inputs: azureSubscription: $(ServiceConnectionName) scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: | az deployment group what-if \ --resource-group $(ResourceGroupName) \ --template-file deploy/main.bicep \ --parameters environmentType=$(EnvironmentType)
Uložte změny souboru.
Přidání prostředí
V prohlížeči přejděte do prostředí Pipelines>.
Vyberte Vytvořit prostředí.
Jako název prostředí zadejte web .
Ponechejte popis prázdný. V případě prostředku vyberte Žádné.
Poznámka:
V Azure Pipelines se prostředí používají k povolení funkcí nasazení. Některé z těchto funkcí platí jenom v případech, kdy nasazujete do Kubernetes nebo do virtuálních počítačů. V tomto modulu tyto funkce nepoužíváme a můžete je ignorovat.
Vyberte Vytvořit.
Přidání kontroly schválení do prostředí
Vyberte kartu Schválení a kontroly v levém horním rohu obrazovky.
Vyberte Schválení.
Do textového pole Schvalovatelé zadejte své vlastní jméno a vyberte sami sebe.
Vyberte tlačítko se šipkou vedle možnosti Upřesnit.
Všimněte si, že ve výchozím nastavení můžou schvalovatelé schvalovat spuštění, která aktivovali. Protože jste jediná osoba, která bude pracovat s tímto kanálem, nechte toto políčko zaškrtnuté.
Vyberte Vytvořit.
Aktualizujte definici kanálu tak, aby vyžadovala prostředí a schválení.
Tady nakonfigurujete fázi nasazení tak, aby se spustila v prostředí webu , které jste vytvořili dříve. Fázi nasazení převedete na spuštění úlohy nasazení místo standardní úlohy a nakonfigurujete ji tak, aby se nasadí do prostředí.
V souboru azure-pipelines.yml v editoru Visual Studio Code nahraďte definici fáze nasazení následujícím kódem:
- stage: Deploy jobs: - deployment: DeployWebsite displayName: Deploy website environment: Website strategy: runOnce: deploy: steps: - checkout: self - task: AzureResourceManagerTemplateDeployment@3 name: DeployBicepFile displayName: Deploy Bicep file inputs: connectedServiceName: $(ServiceConnectionName) deploymentName: $(Build.BuildNumber) location: $(deploymentDefaultLocation) resourceGroupName: $(ResourceGroupName) csmFile: deploy/main.bicep overrideParameters: > -environmentType $(EnvironmentType)
Všimněte si, že jste definovali nový
checkout
krok. Na rozdíl od běžných úloh je potřeba nakonfigurovat úlohy nasazení tak, aby si soubory z úložiště Git zkontrolovaly (stáhly). Pokud tento krok neuděláte, úloha nasazení nebude moct přečíst váš soubor Bicep. Místo toho můžete zvážit použití artefaktů kanálu k odesílání souborů mezi fázemi kanálu. V souhrnu odkazujeme na další informace o artefaktech.Uložte soubor.
Ověření a potvrzení definice kanálu
Ověřte, že váš soubor azure-pipelines.yml vypadá jako následující kód:
trigger: batch: true branches: include: - main pool: vmImage: ubuntu-latest variables: - name: deploymentDefaultLocation value: westus3 stages: - stage: Lint jobs: - job: LintCode displayName: Lint code steps: - script: | az bicep build --file deploy/main.bicep name: LintBicepCode displayName: Run Bicep linter - stage: Validate jobs: - job: ValidateBicepCode displayName: Validate Bicep code steps: - task: AzureResourceManagerTemplateDeployment@3 name: RunPreflightValidation displayName: Run preflight validation inputs: connectedServiceName: $(ServiceConnectionName) location: $(deploymentDefaultLocation) deploymentMode: Validation resourceGroupName: $(ResourceGroupName) csmFile: deploy/main.bicep overrideParameters: > -environmentType $(EnvironmentType) - stage: Preview jobs: - job: PreviewAzureChanges displayName: Preview Azure changes steps: - task: AzureCLI@2 name: RunWhatIf displayName: Run what-if inputs: azureSubscription: $(ServiceConnectionName) scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: | az deployment group what-if \ --resource-group $(ResourceGroupName) \ --template-file deploy/main.bicep \ --parameters environmentType=$(EnvironmentType) - stage: Deploy jobs: - deployment: DeployWebsite displayName: Deploy website environment: Website strategy: runOnce: deploy: steps: - checkout: self - task: AzureResourceManagerTemplateDeployment@3 name: DeployBicepFile displayName: Deploy Bicep file inputs: connectedServiceName: $(ServiceConnectionName) deploymentName: $(Build.BuildNumber) location: $(deploymentDefaultLocation) resourceGroupName: $(ResourceGroupName) csmFile: deploy/main.bicep overrideParameters: > -environmentType $(EnvironmentType)
Pokud tomu tak není, 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 stage" git push
Spusťte kanál a zkontrolujte výstupy citlivostní kontroly.
V prohlížeči přejděte do kanálu.
Vyberte poslední spuštění kanálu.
Počkejte, až kanál dokončí fáze Lint, Validate a Preview . I když Azure Pipelines stránku automaticky aktualizuje nejnovějším stavem, je vhodné stránku občas aktualizovat.
Pokud se zobrazí výzva k udělení oprávnění pro přístup k prostředku, vyberte Zobrazit a pak vyberte Povolit.
Všimněte si, že Azure Pipelines vás vyzve ke schválení. Obdržíte také e-mail s informací, že kanál potřebuje vaše schválení.
Před schválením pokračování kanálu zkontrolujete výsledky citlivostní dokumentace, abyste měli jistotu, že odpovídají vašim očekáváním.
Vyberte fázi náhledu.
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 kanálu poskytuje výsledky citlivostní analýzy podobné následujícímu kódu:
Resource and property changes are indicated with these symbols: + Create ~ Modify = Nochange The deployment will update the following scope: Scope: /subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c/resourceGroups/ToyWebsiteTest ~ Microsoft.Web/sites/toy-website-nbfnedv766snk [2021-01-15] + properties.siteConfig.localMySqlEnabled: false + properties.siteConfig.netFrameworkVersion: "v4.6" = Microsoft.Insights/components/toywebsite [2020-02-02] = Microsoft.Storage/storageAccounts/mystoragenbfnedv766snk [2021-04-01] = Microsoft.Web/serverfarms/toy-website [2021-01-15] Resource changes: 1 to modify, 3 no change.
Operace citlivostní operace zjistila změnu prostředku webu. Zjištěné změny jsou však šumem. Nepředstavují skutečné změny vašeho prostředku. Tým Azure v průběhu času pracuje na snížení šumu. Do té doby můžete u těchto dvou specifických vlastností ignorovat zjištěné změny.
Může se také zobrazit položka ve výstupu citlivostní citlivosti pro typ
microsoft.alertsmanagement/smartDetectorAlertRules/Failure Anomalies - toywebsite
prostředku . Application Insights vytvoří tento prostředek automaticky. Příkaz what-if zjistí, že v prostředku se neprovedou žádné změny.
Schválení spuštění kanálu
Výběrem šipky vlevo se vrátíte k podrobnostem spuštění kanálu.
Na panelu schválení vyberte tlačítko Revize .
Do pole Komentář zadejte Zkontrolovat výsledky citlivostní kontroly.
Vyberte možnost Schválit.
Sledování úspěšného nasazení
Po schválení spuštění kanálu si všimněte, že se spustí fáze nasazení .
Počkejte, až se fáze dokončí.
Všimněte si, že spuštění kanálu se úspěšně dokončí.