Budowanie pipeline'ów w CodePipeline

Automatyzacja wdrożeń na AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Pipeline'y wieloetapowe

video2-preview-multi-stage-pipeline-with-artifacts-approval-eventbridge.png

Automatyzacja wdrożeń na AWS

Anatomia pipeline'u w CodePipeline

  • Pipeline to sekwencja etapów
  • Każdy etap zawiera grupy akcji z akcjami
  • Akcje tworzą i wykorzystują artefakty (przechowywane w S3)
  • Kolejny etap wykorzystuje te artefakty jako dane wejściowe

codepipeline-anatomy-stages-actions-artifacts.png

Automatyzacja wdrożeń na AWS

Łączenie source, build i deploy

  • Etap Source: CodeCommit wykrywa push i tworzy artefakt źródłowy
  • Etap Build: CodeBuild odbiera źródło i tworzy artefakt kompilacji
  • Etap Deploy: CodeDeploy odbiera artefakt kompilacji i wdraża go do środowiska docelowego
  • Pipeline działa od początku do końca przy każdym push'u

3-stage-pipeline

Automatyzacja wdrożeń na AWS

Akcje zatwierdzenia manualnego

  • Zatwierdzenie manualne: brama wymagająca decyzji człowieka między etapami
  • Pipeline zatrzymuje się, aż ktoś zatwierdzi lub odrzuci zmianę
  • Typowe zastosowanie: brama między staging i produkcją
  • Status pokazuje „Waiting for approval"; wspiera powiadomienia SNS

manual-approval-gate-team-lead-reviewing-pipeline.png

Automatyzacja wdrożeń na AWS

Przejścia między etapami i kontrola pipeline'u

  • Włączanie/wyłączanie przejść między etapami
    • Wyłącz, aby zatrzymać pipeline w konkretnym miejscu
  • Ponawiaj nieudane akcje bez restartu całego pipeline'u
  • Release change — ręcznie wypchnij konkretną wersję

 

codepipeline-stage-transition-controls-retry-release.png

Automatyzacja wdrożeń na AWS

Powiadomienia o zdarzeniach pipeline'u

codepipeline-anatomy-stages-actions-artifacts.png

  • CodePipeline wysyła zdarzenia do Amazon EventBridge
  • Zdarzenia obejmują: start pipeline'u, sukces etapu, błąd etapu
  • Twórz reguły EventBridge, aby kierować zdarzenia do wybranych celów
    • tematy SNS do alertów e-mail/SMS
    • funkcje Lambda do własnej automatyzacji
  • Szczegóły zdarzenia zawierają nazwę pipeline'u, nazwę etapu i powód błędu
Automatyzacja wdrożeń na AWS

Projektowanie pipeline'u dla wielu środowisk

  • Jeden pipeline wdraża do wielu środowisk
  • Zbuduj raz, potem promuj: Dev -> Staging -> Zatwierdzenie -> Prod
  • Ten sam artefakt przechodzi przez każde środowisko
  • To, co przetestowano, jest tym, co trafia do wdrożenia

multi-environment-pipeline-dev-staging-approval-prod.png

Automatyzacja wdrożeń na AWS

Czas na praktykę!

Automatyzacja wdrożeń na AWS

Preparing Video For Download...