Progettare il progetto: ruoli e inventory
Organizzi l'intero repository di deployment
Progettare il progetto: ruoli e inventory è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
L'obiettivo finale
È il momento di distribuire una vera applicazione su più livelli con un rolling deploy e zero downtime. Primo passaggio: progettare la struttura del progetto. 🚀
Ragionare per ruoli
Suddivida il sistema in roles: uno per ogni ambito, ad esempio common, web, app, db e loadbalancer. Ognuno è riutilizzabile e testabile autonomamente.
La struttura di primo livello
Un repository ordinato mantiene inventory, group_vars, roles e il playbook di ingresso site.yml nella directory principale, così chiunque può trovare rapidamente ciò che cerca.
deploy/
site.yml
inventory/
group_vars/
host_vars/
roles/site.yml unisce tutto
Il playbook principale site.yml importa i play dei singoli livelli nell'ordine corretto. È il comando unico che distribuisce l'intero stack.
- import_playbook: plays/loadbalancer.yml
- import_playbook: plays/db.yml
- import_playbook: plays/app.yml
- import_playbook: plays/web.ymlAssociare i livelli ai gruppi
Il vostro inventory definisce un gruppo per ogni livello: lb, db, app e web. Ogni play è destinato esattamente agli host di sua competenza.
[lb]
lb1
[web]
web1
web2
[app]
app1
app2
[db]
db1group_vars per ogni livello
Conservi le impostazioni dei livelli in group_vars: porte web, versione dell'applicazione, credenziali del DB. Gli host le ereditano automaticamente, senza duplicare la configurazione.
group_vars/web.yml:
nginx_port: 80
upstream: app:8080host_vars per le eccezioni
Quando un host è diverso dagli altri, inserisca le sostituzioni in host_vars. Il database principale, ad esempio, può avere impostazioni di replica assenti sugli altri host.
host_vars/db1.yml:
postgresql_role: primaryBloccare la versione dell'applicazione
Renda la versione della release una variabile, non una stringa hardcoded. Un unico punto di modifica consente di avanzare o tornare indietro in pochi secondi.
group_vars/all.yml:
app_version: "2.4.1"Separare gli ambienti
Mantenga cartelle inventory separate per ogni ambiente, così staging e produzione non condividono mai gli host. Gli stessi ruoli, destinazioni diverse.
inventory/
staging/hosts
production/hostsBloccare le dipendenze
Elenchi i ruoli esterni di Galaxy in requirements.yml, così ogni membro del team e ogni esecuzione CI installa esattamente lo stesso codice di automazione.
roles:
- name: geerlingguy.nginx
version: 3.1.4Una buona architettura ripaga
Una struttura ben progettata trasforma un deploy complesso in pochi comandi prevedibili. Organizzarsi ora riduce gli interventi d'emergenza in seguito. 🧱
Verifica rapida
Vediamo dove collocare correttamente un elemento di configurazione.
Riepilogo
Avete progettato il repository: roles per ogni livello, gruppi dell'inventory, group_vars e host_vars, oltre a un site.yml che esegue l'intero deploy. ✅
Domande Frequenti
La lezione «Progettare il progetto: ruoli e inventory» è gratuita?
Sì — il testo completo di «Progettare il progetto: ruoli e inventory» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Progettare il progetto: ruoli e inventory»?
Organizzi l'intero repository di deployment Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Progettare il progetto: ruoli e inventory»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Progettare il progetto: ruoli e inventory
- Effettuare il provisioning, rafforzare e inizializzare gli host
- Deploy progressivo dietro il load balancer
- Smoke test, rollback e notifiche