TeamCity Delivering Quality Software, on Time
Václav Pech Software Developer and Product Evangelist JetBrains, Inc.
www.jetbrains.com Part 1: Continuous integration
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
• Eclipse, 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