Software Engineering II - Exercise May 20 th 2009 Continuous Integration Bernd Bruegge Hans Breidler, Helmut Naughton, Florian Schneider Applied Software Engineering Technische Universitaet Muenchen http://wwwbrugge.in.tum.de 1
Purpose of this exercise Target group: future managers Desired outcome: Appreciate the problems of setting up CI Understand CI as a useful tool for establishing the status of a project Learn how to turn the information into action Understand that CI is not about personal performance evaluation Information sharing: 2 Handouts describing the exercises Managing Continuous Integration Development with Continuous integration 1 Handout with solution to Hudson setup (handed out after 20-30 min) 2
Today s exercise: Team assignment Team 1 Markus Hornauer Stefan Birnkammerer Marco Aust Michael Hausmann Dong Li Barbara Köhler Stephan Krusche Team 3 Zahra Ammari Christoph Baechtle David Binder Grigory Markin Michaela Ranner Andrii Shyshkalov Team 2 Martin Schuster Andreas Mirbeth Stephan Köhler Daniel Nyga Tobias Weiherer Team 4 Petromil Petkov Raphael Haase Manuel Then Erik Aberg Marc Hoffmann Mathias Messmer 3
Today s exercise: Outline Exercise Overview Decide who will be in the following sub-teams: Development team Management team Follow the instructions on the sheets that will be handed out One sheet per subteam Acceptance test The group meeting the acceptance criteria closest will get ice-cream from the Cafeteria 4
Why continuous integration? Building multiple product lines Quality assurance Measure progress Gather code metrics Opportunistic release management 5
Development team Tasks: Read documentation on the Bumpers project Checkout source code into your workspace Implement test and some refactorings Incorporate input from the management team 6
Management team Tasks: Create a Hudson CI project for your team Check in the project s source code Setup metrics for the project Monitor metrics Give tasks to the development team 7
Infrastructure WLAN: POM09 WPA/personal password pom09pom09 If you cannot get an IP address via DHCP assign your own IP > 10.0.1.215 (Subnet 255.0.0.0) Server IP 10.0.1.5 Hudson Website http://10.0.1.5:8080 Subversion Server svn://10.0.1.5 (add team# for repository location) Login is your surname (lower case, no umlauts (ae), Password is pom09 8
Metrics The management team should now add the following targets to your all ant task and configure your Hudson job to display the results: PMD: target pmd see http://pmd.sourceforge.net/ Identify the problems and instruct the development team to fix them. Findbugs: target findbugs http://findbugs.sourceforge.net/ Prioritize the problems and assign tasks to the development team. Checkstyle: target checkstyle http://checkstyle.sourceforge.net/ Gain an overview of problems reported by checkstyle and offer a solution not involving removing them all by hand. 9
Exercise continued The exercise is over but I ll post the server address for anyone who wants to play some more The new CI server address is http://lapbruegge69.informatik.tumuenchen.de:8080/ and the new SVN address is svn://lapbruegge69.informatik.tu-muenchen.de/ team# 10