Zatwierdzanie wdrożenia w Power Platform Pipelines
Table of Contents
Jakiś czas temu nagrałem film o wykorzystaniu akcji przedwdrożeniowych w Power Platform Pipelines. Działania te pozwalają stworzyć m.in. przepływ zatwierdzania. W tym poście opiszę akcje, z których korzysta wspomniany workflow.
Wspomniany przeze mnie film można znaleźć tutaj:
Konfiguracja przed wdrożeniowa
Aby móc korzystać z akcji przed wdrożeniem, musisz otworzyć aplikację „Deployment Pipeline Configuration” w swoim środowisku Power Platform Pipelines host, a następnie przejść do „Pipelines” i wybrać etap w pipeline, w którym chcesz aktywować funkcję. Następnie zaznacz pole wyboru „Pre-Deployment Step Required”:
Konfiguracja Power Automate
Trigger
Wyzwalacz, którego używasz, to: „When an action is performed” i powinien być skonfigurowany w następujący sposób:
Mówiąc o „Action name”, istnieje kilka typów, uruchamianych na podstawie różnych warunków, z których możesz wybierać:
- OnDeploymentCompleted — po zakończeniu całego wdrożenia.
- OnDeploymentRequested — gdy pojawia się nowy rekord inicjujący wdrożenie.
- OnDeploymentStarted — kiedy wdrożenie zostanie rozpoczęte.
- OnPreDeploymentCompleted — po zakończeniu etapu przed wdrożeniowego.
- OnPreDeploymentStarted — gdy zostanie uruchomiona akcja przedwdrożeniowa — nowe wdrożenie zostało uruchomione, a wspomniane powyżej pole wyboru jest zaznaczone.
Proces zatwierdzania
Jeśli chodzi o samo zatwierdzanie, nie ma zbyt wiele do powiedzenia. Co ważne, w zależności od wyniku zatwierdzenia – zatwierdzone/odrzucone, wniosek o wdrożenie musi zostać zaktualizowany o inny status:
- Nazwa akcji to „UpdatePreDeploymentStepStatus”.
- StageRunId to wartość pobierana z danych wyjściowych funkcji triggerBody() (zwracanej przez akcję wyzwalającą).
- PreDeploymentStepStatus po zatwierdzeniu to 20 — spowoduje to pomyślne zakończenie tego kroku, a następnie wyzwolenie akcji „OnDeploymentRequested”. W przypadku odrzucenia należy ustawić wartość 30 – co oznacza, że krok zakończył się błędem.
Pobranie plików solucji
Istnieją dwa pliki solucji generowane przy każdym uruchomieniu wdrożenia. Unmanaged i managed. Możesz pobrać te pliki w swoim procesie i zapisać je w wybranym repozytorium plików lub repozytorium kodu. W tym celu używam akcji „HTTP with Azure AD”. Następnie, aby uzyskać ciąg zakodowany w base64 dla:
- Plik managed: użyj dynamicznej danej z wyzwalacza:
@{triggerOutputs()?['body/OutputParameters/ArtifactFileDownloadLink']}
- Plik unmanaged: zamień ArtifactDownloadLink w ciągu powyżej na ArtifactFileUnmanagedDownloadLink:
@{replace(triggerOutputs()?['body/OutputParameters/ArtifactFileDownloadLink'], 'artifactfile', 'artifactfileunmanaged')}
Na koniec użyj: @{body('HTTP_with_Azure_AD')?['body']?['$content']}
, aby pobrać sam ciąg znaków base64, którego możesz użyć do utworzenia pliku w np. SharePoint lub Github:
I to wszystko! Mam nadzieję, że będzie to dla Ciebie naprawdę pomocne 🙂