Codemotion Rome - 27 Marzo 2015
Una feature non è completa finché non è nelle mani di chi la deve usare. Solo da lì inizia a produrre valore, sia economico o feedback. Che si tratti di master, preview o prod, con l’automazione delle build si possono evitare operazioni ripetitive, complesse, risparmiare tempo ed ottenere interessanti metriche. Tutto al fine di arrivare a poter rilasciare ogni poche ore (ogni volta che la build è verde!). Una overview di una delle 12 pratiche di Extreme Programming: continuous integration (e delivery) con gli strumenti al momento più interessanti. Esempio con una webapp in PHP.
2. @morafabio
Chi sono
2
1990 Fabio Mora
2001 Linux Community
2008 Freelance
2010 SRL
2011 GrUSP, Agile Movement
2013 Economia
2014 Cocoon Projects
2014 eBay
3. 3
…una user story non è completa
finché
non è consegnata a chi la deve usare…
9. @morafabio
Ridurre il costo: automatizziamo
9
auto auto auto
one-click
auto
develop integrate build QA deploy
Continuos Integration
Continuos Delivery
11. @morafabio
Checklist: premesse
11
✓ Version Control System: ad esempio Git
✓ Test Coverage: unit, integration, functional, e2e…
✓ Avere un host da dedicare a C.I.
✓ Integrare almeno una volta al giorno
✓ Prima di integrare, eseguire una build locale
32. @morafabio
Tips & Tricks
32
✓ xUnit: gruppi CI e No-CI
✓ Usare servizi locali (DNS, repository)
✓ Jenkins e sandbox delle build
✓ Cancellare i workspace all’inizio
✓ Script ad-hoc per cancellare le cache
✓ “Green Balls” plugin per Jenkins
✓ Git tag dopo ogni deploy
✓ Bash!
37. ROME 27-28 march 2015
Critiche :-)?
mail@fabiomora.com
linkedin.com/in/fabiomora
facebook.com/fabio.mm
@morafabio
https://joind.in/event/view/3347
github.com/morafabio/symfony-ci
Feedback
Codice
Special credits to my colleague Ivan Coppa
github.com/eBayClassifiedsGroup/paas-in-a-box
Contatti