È semplice con Maven nel mondo Java
mvn clean deploy
Nella nostra configurazione, questo fa tutto il necessario sviluppo del file WAR (tirando le dipendenze JAR come necessario), la distribuzione sul server web di sviluppo e la creazione di dati di test in scatola sul database dev. Una volta installato Maven gestisce i test funzionali completi tramite SeleniumRC per verificare che l'applicazione funzioni.
Questo singolo comando porta l'applicazione completamente distribuita al cluster del server di sviluppo in modo che sia prontamente disponibile per altri sviluppatori con cui lavorare immediatamente (supponendo che abbia superato i test). È insolito che una distribuzione di sviluppatori fallisca poiché gli sviluppatori hanno verificato che funziona localmente con mvn clean install
.
Lo snapshot artefatto (WAR) viene quindi copiato nel repository Maven per la condivisione con altri sviluppatori (come da comportamento standard Maven deploy
).
OK, ma hai appena implementato un'istantanea da dev, per quanto riguarda test e produzione?
La distribuzione al test e (più tardi) i server di produzione viene gestita tramite il processo di rilascio di Maven che ci piace gestire manualmente per garantire che qualcuno stia guardando per qualsiasi output sospetto. I tester funzionano solo con artefatti rilasciati, non con istantanee.
Una volta rilasciato, viene utilizzato un semplice script di build per SFTP il file WAR al cluster del server di test, di nuovo con qualcuno che osserva il processo per assicurarsi che nulla vada storto.
Infine, dopo che tutti i tester sono felici, il file WAR non modificato è SFTP fino al cluster del server di produzione di failover, con qualcuno che tiene d'occhio e una posizione di rollback immediata in caso di disastro.