Stay on track, Continuous Integration & Issue Tracking

Preview:

DESCRIPTION

Presentatie voor het tweede jaar toegepaste informatica van Howest over Continuous Integration & Issue Tracking.

Citation preview

Stay on track

Continuous Integration & Issue Tracking

Deze presentatie…

• … wordt gegeven onder de beerware licentie

24h Java Marathon

Java Marathon

• 8 en 9 december 2007• Doelstelling: Java project in grote lijnen af

hebben in 24u (+/- 1 SP)• Tools– Subversion– Microsoft Groove

• Doelstelling: niet gehaald

FAIL!

You’re in deep trouble

Problemen?

• Wie is met wat bezig?• Wat moet er nog gedaan worden?• Wat is er al af?• Ey, da compiled nie meer!• ‘k Heb honger!• ‘k Wil slapen!

Grootste probleemGrootste stressfactor

Solution

Oplossing (poging 1)

• Continuous Integration• Bij iedere commit wordt er een poging gedaan

tot compileren• Alle unit testen werden uitgevoerd• Tools– Hudson– Diverse Hudson plugins

Enkele aandachtspuntjes

• Automatiseer je build• Laat je build zichzelf testen• Regelmatig code inchecken– One logical change, one commit

• Zorg dat de build snel blijft

You’re in deep trouble, again

Problemen?

• Requirements en status bijhouden in Excel

Omslachtig, te oppervlakkig• Synchroon houden met Microsoft Groove• Gevolg: het werd niet gedaan

Issues? Bugs? Time for the solution!

Oplossing (poging 2)

• Introductie van Issue Tracking– Requirements opdelen in kleine taken– Taken zijn eenvoudig toe te wijzen– Bugs kunnen geregistreerd worden– Historiek beschikbaar

• Integratie met CI platform

Wat met gedeelde kennis?

• Vaak voorkomende problemen• Afspraken (bv. coding conventions)• Verzameld research materiaal• Oplossing: Wiki

Hands on demo

Mensen over CI en Issue Tracking

• “Zonder CI met issue tracking heb ik het gevoel dat ik blind aan het werken ben”

• “Help! Mantis is down! De requirement die ik aan het implementeren was is klaar. Wat moet ik nu doen?”

Blijf communiceren!

Must read

• Head First Software Development• Ship It! (Pragmatic Bookshelf)• http://martinfowler.com/articles/

continuousIntegration.html• En natuurlijk ook– Head First Object-Analysis and Design– Head First Design Patterns

Q&A

Recommended