Questa repository contiene una serie di step progressivi per implementare soluzioni di automazione utilizzando Ansible, Docker e Jenkins. Gli esercizi proposti permettono di configurare infrastrutture, gestire container, proteggere credenziali e automatizzare pipeline CI/CD.
Definizione e utilizzo dei concetti di base di Ansible:
- Configurazione degli host remoti.
- Creazione ed esecuzione di playbook per automatizzare task ripetibili.
Utilizzo di Ansible per automatizzare la configurazione di server:
- Installazione di pacchetti necessari.
- Configurazione di servizi e parametri di sistema.
- Esecuzione di task ripetibili su ambienti multipli.
Integrazione di Ansible con Docker per:
- Configurare un registry Docker locale per la gestione delle immagini.
- Creare immagini container personalizzate basate su Dockerfile.
- Effettuare il push delle immagini sul registry locale.
- Avviare container configurati, con porte e servizi esposti.
Protezione delle credenziali sensibili e gestione sicura delle configurazioni:
- Utilizzo di Ansible Vault per cifrare file e variabili.
- Implementazione di password sicure per utenti e servizi.
- Esecuzione di playbook che utilizzano dati protetti.
Automazione del ciclo di vita delle immagini Docker con Jenkins:
- Configurazione di un container Jenkins con accesso al Docker socket.
- Creazione di pipeline per il build, il tag e il push delle immagini Docker.
- Gestione progressiva delle versioni delle immagini.
- Integrazione con un registry Docker locale.
- Automatizzare la configurazione di infrastrutture server con Ansible.
- Creare e gestire container Docker in modo scalabile.
- Proteggere credenziali e configurazioni sensibili.
- Implementare pipeline CI/CD per la gestione e il deployment di immagini Docker.
Questa repository è organizzata in modo che ogni step sia autonomo e possa essere eseguito singolarmente per sperimentare gli strumenti e le tecniche descritte.