Strategia Branch
Pipeline stile Odoo.sh: dev → staging → main.
mermaid
flowchart LR
feature["feature/*"] --> dev
dev -->|"PR + CI"| staging
staging -->|"PR + CI + review"| main
dev -.->|"VIETATO"| mainBranch
| Branch | Scopo | Deploy |
|---|---|---|
| dev | Sviluppo quotidiano | Locale (Makefile) + Dokploy development |
| staging | Validazione cliente | Dokploy staging |
| main | Produzione | Dokploy production (approval manuale) |
Protezioni
main
- Push diretto bloccato
- PR obbligatoria da staging
- CI: lint, test, security, compose-validate
- GitHub Environment
productioncon approval - Minimo 1 review
staging
- PR da dev o feature/*
- CI: lint, test Frappe, migration-check
- Backup pre-deploy
dev
- Push diretto maintainer
- CI su ogni push + build immagine GHCR
Checklist PR dev → staging
- [ ] Descrizione tecnica completa
- [ ] Test locali (
make test,make migrate) - [ ] Nessun secret nel diff
- [ ] DocType JSON validati
- [ ] Impatto migrazioni documentato
Checklist PR staging → main
- [ ] Tutti i check CI verdi
- [ ] Almeno 1 review approvata
- [ ] Health check staging OK
- [ ] Digest immagine staging salvato
- [ ] Backup staging verificato
Dokploy
Il modello deploy e' documentato in:
Ogni environment deve usare database, Redis, variabili, dominio e volumi dedicati.
Production promuove l'immagine staging tramite digest SHA256 senza rebuild.