Skip to main content

πŸ”„ CI/CD - Deploy Automatico

Flusso di Deployment​

git push (main) β†’ Cloud Build β†’ Artifact Registry β†’ GKE

πŸš€ Come Fare Deploy​

Deploy Tutti i Servizi​

gcloud builds submit --config=infra/cloudbuild-all.yaml

Deploy Singolo Servizio​

gcloud builds submit --config=infra/cloudbuild.yaml --substitutions=_SERVICE=auth

Deploy K8s Manuale​

# Connetti al cluster
gcloud container clusters get-credentials visla-k8s-cluster \
--zone europe-west8-a --project visla-k8s-2026

# Usa lo script
./deploy_k8s.sh

πŸ”§ Configurare CI/CD con GitHub​

Step 1: Connetti Repository​

# Console GCP β†’ Cloud Build β†’ Triggers β†’ Connect Repository

Step 2: Crea Trigger​

gcloud builds triggers create github \
--name="deploy-on-push" \
--repo-name="visla-platform" \
--repo-owner="TUO_OWNER" \
--branch-pattern="^main$" \
--build-config="infra/cloudbuild-all.yaml"

Step 3: Permessi​

PROJECT_ID="visla-k8s-2026"
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')

gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com" \
--role="roles/container.developer"

πŸ” Monitorare Build​

# Lista build recenti
gcloud builds list --limit=5

# Log specifico
gcloud builds log BUILD_ID --stream

⏱️ Rollback​

# Rollback ultimo deploy
kubectl rollout undo deployment/auth

# Storia deployment
kubectl rollout history deployment/auth