Introduzione a CI/CD su AWS

Automatizzare i deployment su AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Ciclo continuo

Automatizzare i deployment su AWS

Conosci l'istruttore

dunieski-otano-instructor-with-aws-certifications.png

Automatizzare i deployment su AWS

Perché CI/CD è importante

  • I deploy manuali sono lenti e soggetti a errori
  • Gli sviluppatori pushano il codice e aspettano che qualcuno lo deployi
  • CI/CD automatizza il percorso dal codice alla produzione
  • Rilasci più rapidi, meno errori

 

ci_cd

Automatizzare i deployment su AWS

Il ciclo di vita CI/CD

  • Source: Il codice viene commitato in un repository
  • Build: Il codice è compilato, dipendenze installate
  • Test: Test automatici validano la build
  • Deploy: L'app viene rilasciata; gli artifact passano tra le fasi

Lifecycle

Automatizzare i deployment su AWS

Panoramica dei servizi AWS Code

  • CodeCommit: Controllo versione (repository Git)
  • CodeBuild: Compila, testa e crea il pacchetto
  • CodeDeploy: Rilascia su EC2, Lambda o ECS
  • CodePipeline: Orchestra tutte le fasi

   

 

Code services image

Automatizzare i deployment su AWS

CI vs continuous delivery vs continuous deployment

  • Continuous Integration (CI): Merge, build e test a ogni push
  • Continuous Delivery: Deploy automatico su staging; approvazione manuale per prod (la più comune)
  • Continuous Deployment: Ogni build superata va live automaticamente

 

three-tier

Automatizzare i deployment su AWS

Come CodePipeline orchestra tutto

cp

  • CodePipeline collega le fasi in sequenza
  • Ogni fase contiene una o più azioni
  • La pipeline si attiva automaticamente ai cambi nel source
  • Se una fase fallisce, la pipeline si ferma
Automatizzare i deployment su AWS

Un esempio di pipeline reale

  • Source: Lo sviluppatore fa push su CodeCommit
  • Build: CodeBuild esegue i test, crea uno ZIP
  • Staging: CodeDeploy rilascia su staging
  • Approval => Production: Il team lead approva, poi deploy su prod

 

Esempio di pipeline reale

Automatizzare i deployment su AWS

Esercitiamoci!

Automatizzare i deployment su AWS

Preparing Video For Download...