TeamCity Delivering Quality Software, on Time

Václav Pech Software Developer and Product Evangelist JetBrains, Inc.

www..com Part 1:

Compile Test / Analyse

Trigger (by change) Report

www.jetbrains.com 2 Better Control

www.jetbrains.com 3 Fast Progress

www.jetbrains.com 4 TeamCity is a … • Continuous integration tool – Quality control – Team cooperation – IDE-independent – Java + .Net

www.jetbrains.com 5 Integration • CVS, SVN, ClearCase, …

• Ant, Maven 2, IntelliJ IDEA, Nant, …

• Email, RSS, Jabber, IDE, Windows Tray

, IntelliJ IDEA, Visual Studio

• JUnit, TestNG, EMMA, Cobertura

www.jetbrains.com 6 Architecture

www.jetbrains.com 7 Part 2:

• TeamCity solving problems

www.jetbrains.com 8 Problem: • Administration headaches

– Multiple projects and build configurations

– Cumbersome administration of multiple build machines

www.jetbrains.com 9 Solution: Distributed builds

www.jetbrains.com 10 Solution: Distributed builds • Multi-platform testing

• Easy administration

• Optimized task distribution

www.jetbrains.com 11 Problem: • Notification spam – People stop reading notifications – People stop reading notifications – People stop reading notifications – People stop reading notifications – People stop reading notifications – People stop reading notifications – People stop reading notifications

www.jetbrains.com 12 Solution: Clean and fast notifications

• Relevant

• Convenient

• Early

www.jetbrains.com 13 Problem: • Nobody fixes the build

www.jetbrains.com 14 Solution: Take responsibility

• Indicate explicitly that you’re fixing it

www.jetbrains.com 15 Problem: • Locating failures

www.jetbrains.com 16 Solution: IDE integration

• Show results just as if ran locally

• Direct links to the source code

www.jetbrains.com 17 Problem: • Developers don’t check code quality often enough

– Interrupts work flow

– Takes time, decreases productivity

www.jetbrains.com 18 Solution: Server checks for quality • Inspections – 700+ rules for Java, JavaScript, HTML, XML, …

• Code coverage

• Code duplicates

www.jetbrains.com 19 Problem:

• Broken builds after commit

– 5 o’clock checkin case

www.jetbrains.com 20 Solution: Pre-tested commit

• The server integrates your local changes before committing to VCS

www.jetbrains.com 21 www.jetbrains.com 22 Summary

• Fast feedback

• IDE integration

• Pre-tested commit

– Contact me: [email protected]

www.jetbrains.com 23 Questions

www.jetbrains.com 24