Creare pipeline con CodePipeline

Automatizzare i deployment su AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Pipeline multi-stage

Anteprima video: pipeline multi-stage con artifact, approvazione, EventBridge

Automatizzare i deployment su AWS

Anatomia di una pipeline CodePipeline

  • Una pipeline è una sequenza di stage
  • Ogni stage contiene gruppi di azioni con azioni
  • Le azioni producono e consumano artifact (in S3)
  • Lo stage successivo consuma gli artifact come input

Anatomia CodePipeline: stage, azioni, artifact

Automatizzare i deployment su AWS

Collegare source, build e deploy

  • Source stage: CodeCommit rileva un push, produce l'artifact sorgente
  • Build stage: CodeBuild riceve il sorgente, produce l'artifact di build
  • Deploy stage: CodeDeploy riceve l'artifact di build, distribuisce al target
  • La pipeline gira end-to-end a ogni push di codice

pipeline a 3 stage

Automatizzare i deployment su AWS

Azioni di approvazione manuale

  • Approvazione manuale: gate umano tra stage
  • La pipeline si ferma finché qualcuno approva o rifiuta
  • Uso tipico: gate tra staging e produzione
  • Stato: "Waiting for approval"; supporta notifiche SNS

Gate di approvazione manuale: team lead che rivede la pipeline

Automatizzare i deployment su AWS

Transizioni di stage e controllo della pipeline

  • Abilita/disabilita transizioni tra stage
    • Disabilita per mettere in pausa la pipeline in un punto preciso
  • Riprova le azioni non riuscite senza riavviare la pipeline
  • Rilascia una modifica manualmente per spingere una revisione specifica

 

Controlli transizioni di stage: retry e release

Automatizzare i deployment su AWS

Notifiche degli eventi di pipeline

Anatomia CodePipeline: stage, azioni, artifact

  • CodePipeline invia eventi a Amazon EventBridge
  • Eventi inclusi: pipeline avviata, stage riuscito, stage fallito
  • Crea regole EventBridge per instradare eventi ai target
    • Topic SNS per avvisi email/SMS
    • Funzioni Lambda per automazioni personalizzate
  • I dettagli includono nome pipeline, nome stage e motivo del failure
Automatizzare i deployment su AWS

Progettazione di pipeline multi-ambiente

  • Un'unica pipeline distribuisce su più ambienti
  • Build una volta, poi promuovi: Dev -> Staging -> Approval -> Prod
  • Lo stesso artifact attraversa ogni ambiente
  • Quello che testi è esattamente ciò che distribuisci

Pipeline multi-ambiente: dev, staging, approvazione, prod

Automatizzare i deployment su AWS

Esercitiamoci!

Automatizzare i deployment su AWS

Preparing Video For Download...