Vytváření pipeline pomocí CodePipeline

Automatizace deploymentů na AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Vícestupňové pipeline

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

Automatizace deploymentů na AWS

Anatomie pipeline v CodePipeline

  • Pipeline je posloupnost fází
  • Každá fáze obsahuje skupiny akcí s akcemi
  • Akce vytvářejí a spotřebovávají artefakty (uložené v S3)
  • Další fáze artefakty spotřebovává jako vstup

codepipeline-anatomy-stages-actions-artifacts.png

Automatizace deploymentů na AWS

Propojení fází Source, Build a Deploy

  • Fáze Source: CodeCommit detekuje push a vytvoří zdrojový artefakt
  • Fáze Build: CodeBuild přijme zdroj a vytvoří sestavovací artefakt
  • Fáze Deploy: CodeDeploy převezme sestavovací artefakt a nasadí ho do cíle
  • Pipeline běží od začátku do konce při každém pushi kódu

3-stage-pipeline

Automatizace deploymentů na AWS

Akce manuálního schválení

  • Manuální schválení: kontrolní bod mezi fázemi vyžadující zásah člověka
  • Pipeline se pozastaví, dokud ji někdo neschválí nebo nezamítne
  • Časté využití: mezi testovacím a produkčním prostředím
  • Stav zobrazuje „Waiting for approval"; podporuje notifikace přes SNS

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

Automatizace deploymentů na AWS

Přechody mezi fázemi a řízení pipeline

  • Povolení/zakázání přechodů mezi fázemi
    • Zakázáním pipeline pozastavíš v konkrétním bodě
  • Opakování neúspěšných akcí bez restartu celé pipeline
  • Ruční vydání změny pro nasazení konkrétní revize

 

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

Automatizace deploymentů na AWS

Upozornění na události pipeline

codepipeline-anatomy-stages-actions-artifacts.png

  • CodePipeline odesílá události do Amazon EventBridge
  • Mezi události patří: spuštění pipeline, úspěšná fáze, neúspěšná fáze
  • Vytvoř pravidla EventBridge, která směrují události k cílům
    • témata SNS pro e-mailová a SMS upozornění
    • funkce Lambda pro vlastní automatizaci
  • Detail události obsahuje název pipeline, název fáze a důvod selhání
Automatizace deploymentů na AWS

Návrh pipeline pro více prostředí

  • Jedna pipeline nasazuje do více prostředí
  • Sestav jednou a pak postupuj dál: Dev -> Staging -> Approval -> Prod
  • Stejný artefakt prochází všemi prostředími
  • Co otestuješ, to přesně nasadíš

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

Automatizace deploymentů na AWS

Pojďme cvičit!

Automatizace deploymentů na AWS

Preparing Video For Download...