Ćwiczenie — dodaj etap podglądu do przepływu danych
Chcesz dodać kolejny etap do swego procesu, aby sprawdzić, jakie zmiany zostaną wprowadzone w środowisku Azure.
Podczas tego procesu wykonasz następujące czynności:
- Zaktualizuj plik YAML potoku, aby dodać nowy etap podglądu.
- Dodaj środowisko do Azure Pipelines.
- Skonfiguruj środowisko, aby wymagać zatwierdzenia zgody.
- Zaktualizuj plik YAML potoku, aby użyć środowiska na etapie wdrażania.
- Wyświetl wyniki analizy 'what-if' i zatwierdź uruchomienie potoku.
Zaktualizuj definicję potoku, aby dodać etap podglądu
Najpierw dodasz nowy etap do potoku, który uruchamia operację analizy warunkowej.
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:
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.
Dodaj środowisko
W Azure DevOps przejdź do Pipelines>Environments.
Wybierz pozycję Utwórz środowisko.
Wprowadź Website jako nazwę środowiska.
Pozostaw puste miejsce na opis. W sekcji 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 będziesz używać tych funkcji i możesz je zignorować.
Wybierz pozycję Utwórz.
Dodaj kontrolę zatwierdzenia do środowiska
Wybierz kartę Zatwierdzenia i kontrole w lewym górnym rogu strony.
Wybierz pozycję Zatwierdzenia.
W polu Osoby zatwierdzające wprowadź własną nazwę i wybierz siebie.
Rozwiń sekcję Zaawansowane , wybierając strzałkę w dół.
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.
Zaktualizuj definicję procesu, aby wymagać środowiska i zatwierdzenia.
Następnie skonfigurujesz etap Wdrażanie , aby był uruchamiany względem utworzonego wcześniej środowiska witryny internetowej . 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ę etapu wdrażania następującym kodem:
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
checkoutkrok. W przeciwieństwie do normalnych zadań zadania wdrożenia muszą być skonfigurowane do wyewidencjonowania (pobierania) plików z repozytorium Git. Jeśli nie uwzględnisz tego kroku, zadanie wdrożenia nie zdoła odczytać Twojego pliku Bicep. Zamiast tego można rozważyć użycie artefaktów potokowych do wysyłania plików między etapami w potoku. Podsumowanie modułu zawiera link do dodatkowych informacji o artefaktach.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: Default 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 nie wygląda tak samo, 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
Uruchom potok i przeglądaj dane wyjściowe scenariuszy what-if
W usłudze Azure DevOps 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 Azure Pipelines prosi o zatwierdzenie. Otrzymasz również wiadomość e-mail z informacją, że potok wymaga zatwierdzenia.
Przed zatwierdzeniem kontynuacji procesu należy przejrzeć wyniki analizy co-jeżeli, aby upewnić się, że są one zgodne z oczekiwaniami.
Wybierz etap Podgląd.
Wybierz krok Uruchom tryb co-jeśli, aby sprawdzić zmiany raportowane przez polecenie trybu co-jeśli.
Zwróć uwagę, że dziennik potoku zawiera wyniki warunkowe podobne do następujących danych wyjściowych:
Resource and property changes are indicated with these symbols: + Create ~ Modify = Nochange The deployment will update the following scope: Scope: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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.Działanie "co-jeśli" wykryło zmianę zasobu witryny internetowej. Jednak wykryte zmiany są szumem. Nie reprezentują one rzeczywistych zmian w zasobie. 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 zasobu
microsoft.alertsmanagement/smartDetectorAlertRules/Failure Anomalies - toywebsite. Usługa Application Insights automatycznie tworzy ten zasób. Komenda "co-jeżeli" wykrywa, że zasób pozostanie bez zmian.
Zatwierdź przebieg 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 uruchomienia potoku zwróć uwagę, że etap Wdrażanie rozpoczyna się.
Poczekaj na zakończenie etapu.
Zwróć uwagę, że przebieg potoku zakończy się pomyślnie.