teamcity ci with fun · teamcity delivering quality software, on time václav pech software...

22
www.jetbrains.com TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc.

Upload: others

Post on 18-Oct-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

www.jetbrains.com

TeamCityDelivering Quality Software, on Time

Václav PechSoftware Developer and Product Evangelist

JetBrains, Inc.

Page 2: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

2www.jetbrains.com

Part 1: Continuous integration

ReportTrigger (by change)

Compile Test / Analyse

Page 3: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

3www.jetbrains.com

TeamCity is a …• Continuous integration tool

– Quality control– Team cooperation– IDE-independent– Java + .Net

Page 4: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

4www.jetbrains.com

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

Page 5: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

5www.jetbrains.com

Architecture

Page 6: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

6www.jetbrains.com

Part 2:

• TeamCity solving problems

Page 7: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

7www.jetbrains.com

Problem:• Administration headaches

– Multiple projects and build configurations

– Cumbersome administration of multiple build machines

Page 8: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

8www.jetbrains.com

Solution: Distributed builds

Page 9: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

9www.jetbrains.com

Solution: Distributed builds• Multi-platform testing

• Easy administration

• Optimized task distribution

Page 10: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

10www.jetbrains.com

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

Page 11: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

11www.jetbrains.com

Solution: Clean and fast notifications

• Relevant

• Convenient

• Early

Page 12: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

12www.jetbrains.com

Problem:• Nobody fixes the build

Page 13: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

13www.jetbrains.com

Solution: Take responsibility

• Indicate explicitly that you’re fixing it

Page 14: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

14www.jetbrains.com

Problem:• Locating failures

Page 15: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

15www.jetbrains.com

Solution: IDE integration

• Show results just as if ran locally

• Direct links to the source code

Page 16: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

16www.jetbrains.com

Problem:• Developers don’t check code quality

often enough

– Interrupts work flow

– Takes time, decreases productivity

Page 17: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

17www.jetbrains.com

Solution: Server checks for quality• Inspections

– 700+ rules for Java, JavaScript, HTML, XML, …

• Code coverage

• Code duplicates

Page 18: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

18www.jetbrains.com

Problem:

• Broken builds after commit

– 5 o’clock checkin case

Page 19: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

19www.jetbrains.com

Solution: Pre-tested commit

• The server integrates your local changes before committing to VCS

Page 20: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

20www.jetbrains.com

Page 21: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

21www.jetbrains.com

Summary

• CI is a must but has obstacles

• TeamCity makes CI smooth

• Free Professional Edition

– Contact me: [email protected]

Page 22: TeamCity CI with fun · TeamCity Delivering Quality Software, on Time Václav Pech Software Developer and Product Evangelist JetBrains, Inc. 2 Part 1: Continuous integration Trigger

22www.jetbrains.com

Questions