Continuos Integration

434 views

Published on

Continuos Integration, una pratica dell' eXtreme Programming (XP). Come ridurre significativamente i problemi di integrazione. Alessandro Ceseno

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
434
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Continuos Integration

  1. 1. Continuos Integration Una pratica XP Alessandro Ceseno contact me, my website is: www.alexceseno.it Add me on Linkedin: http://www.linkedin.com/in/alessandroceseno
  2. 2. Come rispondere al cambiamento... Ogni “giorno”... i requisiti la tecnologia il business il design la risposta è... Continuos Integration
  3. 3. CI Continuos Integration è una pratica dell’ eXtreme Programming CI è realizzata: ● Continuos Integration Server ● Tools: Jenkins o Hudson
  4. 4. Implementazione del SW e CI ● Sviluppatore ha una copia locale del codice ● Source code management system ● Pratica agile ha come caratteristica il fatto che il codice sviluppato abbia dei tests automatici (ref. TDD)
  5. 5. Implementazione del SW e CI (2) ● build in locale (master e non master) ● anche test automatici nella build
  6. 6. ● ● ● ● ● aggiornamento della copia locale nuova build in locale verifica build ok (anche i tests) commit sul server di versionamento nel caso di errori, risolvere tutti i problemi prima del commit sul server
  7. 7. Continuos Integration Server ● deve avere accesso al repository del codice ● la macchina di integrazione effettua una nuova build, se ha successo (anche i tests), si ha l’implementazione della feature effettuata ● la build è effettuata da un sw (Jenkins o Hudson)
  8. 8. ● Nel caso in cui due sviluppatori hanno effettuato il commit “contemporaneamente”, il server di continuos integration avvertirà nel caso di errori della build o tests.
  9. 9. ● Possibili problemi possono essere risolti velocemente e avere di nuovo una build funzionante. ● Il server di integrazione non dovrebbe avere una build non funzionante per più di 24/48 ore.
  10. 10. Le pratiche di CI ● Avere un solo repository del codice sorgente ● build automatizzata ● Includi i tests nella tua build
  11. 11. Le pratiche di CI (2) ● I commits devono essere consistenti e frequenti: piccole funzionalità implementate in modo incrementale
  12. 12. Le pratiche CI (3) ● Ciascun commit nel repository dovrebbe essere seguito da una nuova build sulla macchina di integrazione: Continuos Integration Server Avere una build funzionante di ambienti diversi consente di aver un maggior controllo e consapevolezza del codice
  13. 13. Le pratiche CI (4) ● Mantieni veloce la build ● Ambiente di Test/Collaudo/Preproduzione simile all’ambiente di produzione ● Semplicity (mantieni il processo semplice)
  14. 14. Le pratiche CI (5) ● Comunicazione ● Il deployment deve essere automatizzato
  15. 15. I vantaggi di CI ● riduce gli errori e i rischi ● maggior conoscenza del codice da parte di tutti i membri del team ● maggior velocità nel riconoscere e risolvere i bugs
  16. 16. I vantaggi di CI (2) ● meno bugs cumulativi ● deployment frequenti
  17. 17. I vantaggi di CI (3) ● si amministra e si automatizza il processo di build ● si integra il lavoro del singolo nel lavoro del team
  18. 18. I vantaggi di CI (4) ● si hanno feedbacks sui cambiamenti di codice, ma anche sui reports, documenti... ● si diminuiscono radicalmente i problemi di integrazione
  19. 19. Continuos Integration Una pratica XP Alessandro Ceseno contact me, my website is: www.alexceseno.it Add me on Linkedin: http://www.linkedin.com/in/alessandroceseno

×