Presentation TeamCity


When Martin Fowler first wrote about Continuous Integration, he described it as a practice that changes integration from a "long and unpredictable process" to a "non-event" - something that every team could use to make their code more reliable and clean, with minimal effort. Using code-level demonstrations, we will go through the CI practice using TeamCity, a distributed build management and continuous integration system which was designed specifically to improve team communication, integrate into the development process, run builds, detect problems, and report issues in a non-intrusive way, so that your code base stays clean and your projects are completed faster.
Published on: 2009-11-25T15:01:07.000Z
Channel: Devoxx'09 (all)
Tags: CI devoxx TIA 2009 tools
Speakers:

Roman Strobl


JetBrains Evangelist


Slides:

TeamCity


TeamCity Roman  Štrobl Technology  Evangelist/JetBrains

Goals


Goals Con;nuous  Integra;on,  Build  Management,  and   Avoiding  Broken  Builds

Part  1:  Con;nuous  integra;on


Part  1:  Con;nuous  integra;on Compile Test  /  Analyze Trigger Report

TeamCity  is  a  …


TeamCity  is  a  … Con;nuous  integra;on  tool Quality  control Team  coopera;on IDE-­‐independent Java  +  .Net  +  Ruby

TeamCity  is…


TeamCity  is… Also  FREE  with  some  limita;ons:    max.  20  build  configura;ons        max.  3  build  agents    No  LDAP  support Good  for  many  regular  projects Enterprise  version  for  bigger  deployments

Integration


Integra;on CVS,  SVN,  Perforce,  Git,  ClearCase,  ... Ant,  Maven  2,  IntelliJ  IDEA,  Nant,  … Email,  RSS,  Jabber,  IDE,  Windows  Tray Eclipse,  IntelliJ  IDEA,  Visual  Studio JUnit,  TestNG,  EMMA,  Cobertura,  …

Architecture


Architecture

DEMO


DEMO User  Interface

Part  2:


Part  2: How  TeamCity  solves  common  problems

Problem


Problem: Administra;on  headaches

Goals


Goals Con;nuous  Integra;on,  Build  Management,  and   Avoiding  Broken  Builds

Solution  Distributed  builds


Solu;on:  Distributed  builds

DEMO


DEMO Build  Grid

Solution  Distributed  builds


Solu;on:  Distributed  builds Mul;-­‐pla^orm  tes;ng Easy  administra;on Op;mized  task  distribu;on

Problem:


Problem: No;fica;on  spam People  stop  reading  no;fica;ons People  stop  reading  no;fica;ons   People  stop  reading  no;fica;ons People  stop  reading  no;fica;ons People  stop  reading  no;fica;ons People  stop  reading  no;fica;ons People  stop  reading  no;fica;ons People  stop  reading  no;fica;ons

Problem:


Problem: Administra;on  headaches

Solution  Clean  and  fast  no-fica-on


Solu-on:  Clean  and  fast  no-fica-on Relevant Convenient Early

DEMO


DEMO Build  Grid

Problem:


Problem: Nobody  fixes  the  build!

DEMO


DEMO Assigning  Responsibility

Problem:


Problem: Broken  builds  ader  commit 5  o’clock  checkin  case

Solution  Distributed  builds


Solu;on:  Distributed  builds

Solution  Pre-­‐tested  commit


Solu;on:  Pre-­‐tested  commit

DEMO


DEMO Pre-­‐tested  Commit

Problem:


Problem: Developers  don’t  check  code  quality  oden   enough

Solution  Take  responsibility


Solu;on:  Take  responsibility Indicate  explicitly  that  you’re  fixing  it

Solution  Distributed  builds


Solu;on:  Distributed  builds Mul;-­‐pla^orm  tes;ng Easy  administra;on Op;mized  task  distribu;on

Solution  IDE  integra;on


Solu;on:  IDE  integra;on Show  the  results  as  if  run  locally Direct  links  to  the  source  code

Problem:


Problem: Developers  don’t  check  code  quality  oden   enough

Solution  Server  checks  for  quality


Solu;on:  Server  checks  for  quality Inspec;ons Test  code  coverage Duplicates  in  code

DEMO


DEMO Build  Grid

Summary


Summary Fast  feedback IDE  integra;on Pre-­‐tested  commit

Questions?


Ques-ons?

Thanks  for  your  afen;on!


Thanks  for  your  afen;on! hfp://www.jetbrains.com/teamcity