Ćwiczenie — dodawanie etapu podglądu do potoku
Chcesz dodać dodatkowy etap do potoku, aby sprawdzić, jakie zmiany zostaną wprowadzone w środowisku platformy Azure.
Podczas tego procesu wykonasz następujące czynności:
- Zaktualizuj plik YAML potoku, aby dodać nowy etap podglądu.
- Dodawanie środowiska do usługi Azure Pipelines.
- Skonfiguruj środowisko, aby wymagać zatwierdzenia.
- Zaktualizuj plik YAML potoku, aby użyć środowiska na etapie wdrażania.
- Wyświetl wyniki analizy co-jeżeli i zatwierdź uruchomienie potoku.
Aktualizowanie definicji potoku w celu dodania etapu podglądu
W tym miejscu dodasz nowy etap do potoku, który uruchamia operację analizy co-jeżeli.
W programie Visual Studio Code otwórz plik azure-pipelines.yml w folderze deploy .
Między etapami Walidacja i Wdrażanie dodaj następującą definicję dla etapu Wersja zapoznawcza:
- 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)
Zapisz zmiany w pliku.
Dodawanie środowiska
W przeglądarce przejdź do pozycji Środowiska potoków>.
Wybierz pozycję Utwórz środowisko.
Wprowadź wartość Witryna internetowa jako nazwę środowiska.
Pozostaw puste miejsce na opis. W obszarze Zasób wybierz pozycję Brak.
Uwaga
W usłudze Azure Pipelines środowiska są używane do włączania funkcji wdrażania. Niektóre z tych funkcji mają zastosowanie tylko w przypadku wdrażania na platformie Kubernetes lub na maszynach wirtualnych. W tym module nie używamy tych funkcji i można je zignorować.
Wybierz pozycję Utwórz.
Dodawanie sprawdzania zatwierdzenia do środowiska
Wybierz kartę Zatwierdzenia i testy w lewym górnym rogu ekranu.
Wybierz pozycję Zatwierdzenia.
W polu tekstowym Osoby zatwierdzające wpisz własną nazwę i wybierz siebie.
Wybierz przycisk strzałki obok pozycji Zaawansowane.
Zauważ, że domyślnie osoby zatwierdzające mogą zatwierdzać wyzwalane przebiegi. Ponieważ jesteś jedyną osobą, która będzie pracować z tym potokiem, pozostaw to pole wyboru zaznaczone.
Wybierz pozycję Utwórz.
Aktualizowanie definicji potoku w celu wymagania środowiska i zatwierdzenia
W tym miejscu skonfigurujesz etap Wdrażanie , aby był uruchamiany względem utworzonego wcześniej środowiska witryny sieci Web . Przekonwertujesz etap Wdrażania, aby uruchomić zadanie wdrożenia zamiast zadania standardowego i skonfigurować go do wdrożenia w środowisku.
W pliku azure-pipelines.yml w programie Visual Studio Code zastąp definicję Deploy stage (Wdrażanie etapu) następującym kodem:
- 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)
Zwróć uwagę, że zdefiniowano nowy
checkout
krok. W przeciwieństwie do normalnych zadań zadania wdrożenia muszą być skonfigurowane do wyewidencjonowania (pobierania) plików z repozytorium Git. Jeśli nie zrobisz tego kroku, zadanie wdrożenia nie będzie mogło odczytać pliku Bicep. Zamiast tego można rozważyć użycie artefaktów potoku do wysyłania plików między etapami potoku. Link do dodatkowych informacji o artefaktach znajduje się w podsumowaniu.Zapisz plik.
Weryfikowanie i zatwierdzanie definicji potoku
Sprawdź, czy plik azure-pipelines.yml wygląda następująco:
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)
Jeśli tak nie jest, zaktualizuj go tak, aby był zgodny z tym przykładem, a następnie zapisz go.
Zatwierdź i wypchnij zmiany do repozytorium Git, uruchamiając następujące polecenia w terminalu programu Visual Studio Code:
git add . git commit -m "Add preview stage" git push
Uruchamianie potoku i przeglądanie danych wyjściowych analizy co-jeżeli
W przeglądarce przejdź do potoku.
Wybierz najnowszy przebieg potoku.
Poczekaj, aż potok zakończy etapy Lint, Validate i Preview . Chociaż usługa Azure Pipelines automatycznie aktualizuje stronę o najnowszym stanie, warto odświeżyć stronę od czasu do czasu.
Jeśli zostanie wyświetlony monit o udzielenie uprawnień dostępu do zasobu, wybierz pozycję Wyświetl , a następnie wybierz pozycję Zezwól.
Zwróć uwagę, że usługa Azure Pipelines monituje o zatwierdzenie. Otrzymasz również wiadomość e-mail z informacją, że potok wymaga zatwierdzenia.
Przed zatwierdzeniem kontynuacji potoku należy przejrzeć wyniki analizy co-jeżeli, aby upewnić się, że są one zgodne z oczekiwaniami.
Wybierz etap Podgląd.
Wybierz krok Uruchom co-jeżeli, aby sprawdzić zmiany raportów polecenia analizy co-jeżeli.
Zwróć uwagę, że dziennik potoku zawiera wyniki warunkowe podobne do następującego kodu:
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.
Operacja analizy co-jeżeli wykryła zmianę zasobu witryny internetowej. Jednak wykryte zmiany to szum. Nie reprezentują one rzeczywistych zmian w zasobie. Z czasem zespół platformy Azure pracuje nad zmniejszeniem szumu. W międzyczasie dla tych dwóch określonych właściwości można zignorować wykryte zmiany.
Element może również zostać wyświetlony w danych wyjściowych analizy co-jeżeli dla typu
microsoft.alertsmanagement/smartDetectorAlertRules/Failure Anomalies - toywebsite
zasobu . Usługa Application Insights automatycznie tworzy ten zasób. Polecenie analizy co-jeżeli wykrywa, że nie zostaną wprowadzone żadne zmiany w zasobie.
Zatwierdzanie przebiegu potoku
Wybierz strzałkę po lewej stronie, aby powrócić do szczegółów przebiegu potoku.
Wybierz przycisk Przejrzyj na panelu zatwierdzania.
W polu Komentarz wprowadź przegląd wyników analizy co-jeżeli.
Wybierz Zatwierdź.
Obserwowanie pomyślnego wdrożenia
Po zatwierdzeniu przebiegu potoku zwróć uwagę, że etap Wdrażania rozpoczyna działanie.
Poczekaj na zakończenie etapu.
Zwróć uwagę, że przebieg potoku zakończy się pomyślnie.