Bygga pipelines med CodePipeline

Automatisera driftsättningar på AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Flerstegspipelines

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

Automatisera driftsättningar på AWS

Uppbyggnaden av en CodePipeline-pipeline

  • En pipeline är en sekvens av steg
  • Varje steg innehåller åtgärdsgrupper med åtgärder
  • Åtgärder skapar och använder artefakter (lagras i S3)
  • Nästa steg använder artefakterna som indata

codepipeline-anatomy-stages-actions-artifacts.png

Automatisera driftsättningar på AWS

Koppla ihop källa, bygge och driftsättning

  • Källsteg: CodeCommit upptäcker en push och skapar en källartefakt
  • Byggsteg: CodeBuild tar emot källan och skapar en byggartefakt
  • Driftsättningssteg: CodeDeploy tar emot byggartefakten och driftsätter till målet
  • Pipelinen körs från start till slut vid varje push

3-stage-pipeline

Automatisera driftsättningar på AWS

Manuella godkännandeåtgärder

  • Manuellt godkännande: mänsklig kontrollpunkt mellan steg
  • Pipelinen pausar tills någon godkänner eller avslår
  • Vanlig användning: kontrollpunkt mellan staging och produktion
  • Status visar "Waiting for approval"; stödjer SNS-aviseringar

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

Automatisera driftsättningar på AWS

Stegövergångar och pipelinekontroll

  • Aktivera/inaktivera övergångar mellan steg
    • Inaktivera för att pausa pipelinen vid en specifik punkt
  • Försök igen med misslyckade åtgärder utan att starta om pipelinen
  • Släpp ändring manuellt för att driftsätta en specifik version

 

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

Automatisera driftsättningar på AWS

Aviseringar för pipelinehändelser

codepipeline-anatomy-stages-actions-artifacts.png

  • CodePipeline skickar händelser till Amazon EventBridge
  • Händelser inkluderar: pipeline startad, steg lyckades, steg misslyckades
  • Skapa EventBridge-regler för att styra händelser till mål
    • SNS-ämnen för e-post/SMS-aviseringar
    • Lambda-funktioner för anpassad automatisering
  • Händelsedetaljer inkluderar pipelinenamn, stegnamn och orsak till misslyckande
Automatisera driftsättningar på AWS

Pipelinedesign för flera miljöer

  • En enda pipeline driftsätter till flera miljöer
  • Bygg en gång, sedan befordra: Dev -> Staging -> Approval -> Prod
  • Samma artefakt flödar genom varje miljö
  • Det du testade är exakt det du driftsätter

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

Automatisera driftsättningar på AWS

Nu kör vi en övning!

Automatisera driftsättningar på AWS

Preparing Video For Download...