Pipelines bouwen met CodePipeline

Deployments automatiseren op AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Pipelines met meerdere stages

voorbeeldvideo-veeltraps-pipeline-met-artifacts-goedkeuring-eventbridge.png

Deployments automatiseren op AWS

Anatomie van een CodePipeline-pipeline

  • Een pipeline is een reeks stages
  • Elke stage bevat actiegroepen met acties
  • Acties produceren en gebruiken artifacts (opgeslagen in S3)
  • De volgende stage gebruikt artifacts als invoer

codepipeline-anatomie-stages-acties-artifacts.png

Deployments automatiseren op AWS

Bron, build en deploy koppelen

  • Source-stage: CodeCommit detecteert een push en levert een source-artifact
  • Build-stage: CodeBuild ontvangt de bron en levert een build-artifact
  • Deploy-stage: CodeDeploy ontvangt het build-artifact en deployt naar het doel
  • Pipeline draait end-to-end bij elke code-push

3-stage-pipeline

Deployments automatiseren op AWS

Acties voor handmatige goedkeuring

  • Handmatige goedkeuring: menselijke poort tussen stages
  • Pipeline pauzeert tot iemand goed- of afkeurt
  • Veelgebruikt: poort tussen staging en productie
  • Status toont "Wachten op goedkeuring"; ondersteunt SNS-meldingen

handmatige-goedkeuringspoort-teamlead-reviewt-pipeline.png

Deployments automatiseren op AWS

Stage-overgangen en pipelinebesturing

  • Overgangen inschakelen/uitschakelen tussen stages
    • Uitschakelen om de pipeline op een punt te pauzeren
  • Mislukte acties opnieuw proberen zonder de pipeline te herstarten
  • Wijziging vrijgeven om handmatig een specifieke revisie te pushen

 

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

Deployments automatiseren op AWS

Pipeline-eventmeldingen

codepipeline-anatomie-stages-acties-artifacts.png

  • CodePipeline stuurt events naar Amazon EventBridge
  • Events omvatten: pipeline gestart, stage geslaagd, stage mislukt
  • Maak EventBridge-regels om events naar targets te routeren
    • SNS-onderwerpen voor e-mail/sms-alerts
    • Lambda-functies voor maatwerkautomatisering
  • Eventdetails bevatten pipelinenaam, stagenaam en reden van mislukking
Deployments automatiseren op AWS

Ontwerp van een multi-omgeving-pipeline

  • Eén pipeline deployt naar meerdere omgevingen
  • Één keer bouwen, dan promoveren: Dev -> Staging -> Approval -> Prod
  • Hetzelfde artifact stroomt door elke omgeving
  • Wat je testte is precies wat je deployt

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

Deployments automatiseren op AWS

Laten we oefenen!

Deployments automatiseren op AWS

Preparing Video For Download...