Pipeline CI/CD completa per ambienti su VM Proxmox. Jenkins orchestra il flusso: OpenTofu provisiona le VM via cloud-init, Semaphore triggera i playbook Ansible per il deploy dello stack Docker Compose. Ho progettato l’architettura per eliminare il deploy manuale e il drift tra staging e produzione.
Pipeline CI/CD su Proxmox
Deploy fatti a mano su VM Proxmox: ogni rilascio era un evento, lo staging e la produzione divergevano nel tempo, e ricostruire un ambiente da zero richiedeva la memoria di chi l'aveva configurato la prima volta.
Context
Infrastruttura on-prem basata su Proxmox, senza managed services cloud disponibili. Il vincolo era automatizzare senza riscrivere le applicazioni e senza migrare a una piattaforma diversa.
Pillar applied
Automate
What I did
- Provisioning delle VM via OpenTofu e cloud-init, con configurazione versionata su Git
- Orchestrazione del flusso end-to-end con Jenkins: trigger, gating, propagazione tra stage
- Deploy applicativo via playbook Ansible eseguiti da Semaphore, idempotenti e replicabili
- Stack applicativo containerizzato (Docker Compose) per ridurre le differenze tra ambienti
Outcome
Il deploy manuale è scomparso. Staging e produzione partono dalla stessa configurazione versionata: il drift, quando capita, è visibile in un diff Git invece che in un confronto tra screenshot. Ricostruire un ambiente da zero è un job da lanciare, non un sapere tribale.
Facing something similar?
If this case study touches a problem you have on your plate, let's talk in a free 30-minute discovery call.