Introduzione a CI/CD su AWS
Automatizzare i deployment su AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Ciclo continuo
Conosci l'istruttore
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
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
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
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
Come CodePipeline orchestra tutto
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
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
Esercitiamoci!
Automatizzare i deployment su AWS
Preparing Video For Download...