SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
TeamCity
Delivering Quality Software, on Time



              Vaclav Pech
Software Developer and Product Evangelist
             JetBrains, Inc.




               www.jetbrains.com
Part 1: Continuous integration

 Compile                                  Test / Analyse




                                            Report
Trigger (by change)

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




                                    3
                www.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
                                          4
                  www.jetbrains.com
Architecture




                      5
  www.jetbrains.com
Part 2:


• TeamCity solving problems




                                   6
               www.jetbrains.com
Problem:
• Administration headaches

  – Multiple projects and build
    configurations

  – Cumbersome administration of multiple
    build machines


                                        7
                 www.jetbrains.com
Solution: Distributed builds




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


• Easy administration


• Optimized task distribution


                                      9
                  www.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
                                        10
                 www.jetbrains.com
Solution: Clean and fast notifications

• Relevant

• Convenient

• Early



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




                                    12
                www.jetbrains.com
Solution: Take responsibility


• Indicate explicitly that you’re fixing it




                                              13
                  www.jetbrains.com
Problem:
• Locating failures




                                     14
                 www.jetbrains.com
Solution: IDE integration

• Show results just as if ran locally


• Direct links to the source code




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

  – Interrupts work flow

  – Takes time, decreases productivity



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

• Code coverage

• Code duplicates

                                         17
                www.jetbrains.com
Problem:


• Broken builds after commit

  – 5 o’clock checkin case




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


• The server integrates your local
  changes before committing to VCS




                                     19
               www.jetbrains.com
20
www.jetbrains.com
Summary

• CI is a must but has obstacles

• TeamCity makes CI smooth

• Free Professional Edition

  – Contact me: vaclav@jetbrains.com
                                       21
                 www.jetbrains.com
Questions




                      22
  www.jetbrains.com

Weitere ähnliche Inhalte

Was ist angesagt?

Continuous integration
Continuous integrationContinuous integration
Continuous integration
amscanne
 

Was ist angesagt? (20)

Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
 
Continuous integration using Jenkins and Sonar
Continuous integration using Jenkins and SonarContinuous integration using Jenkins and Sonar
Continuous integration using Jenkins and Sonar
 
Jenkins Overview
Jenkins OverviewJenkins Overview
Jenkins Overview
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
CI/CD
CI/CDCI/CD
CI/CD
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Hacking Jenkins
Hacking JenkinsHacking Jenkins
Hacking Jenkins
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
CI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate ListCI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate List
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 

Andere mochten auch

Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
Eugene Sheretov
 
Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011
thinkddd
 
Automated release management with team city & octopusdeploy - NDC 2013
Automated release management with team city & octopusdeploy - NDC 2013Automated release management with team city & octopusdeploy - NDC 2013
Automated release management with team city & octopusdeploy - NDC 2013
Kristoffer Deinoff
 

Andere mochten auch (20)

Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
 
Continuous Delivery with TeamCity
Continuous Delivery with TeamCityContinuous Delivery with TeamCity
Continuous Delivery with TeamCity
 
Continuous Building usando TeamCity
Continuous Building usando TeamCityContinuous Building usando TeamCity
Continuous Building usando TeamCity
 
From Continuous integration to Continuous Delivery with TeamCity
From Continuous integration to Continuous Delivery with TeamCityFrom Continuous integration to Continuous Delivery with TeamCity
From Continuous integration to Continuous Delivery with TeamCity
 
Using TeamCity Inside JetBrains
Using TeamCity Inside JetBrainsUsing TeamCity Inside JetBrains
Using TeamCity Inside JetBrains
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011
 
Automated release management with team city & octopusdeploy - NDC 2013
Automated release management with team city & octopusdeploy - NDC 2013Automated release management with team city & octopusdeploy - NDC 2013
Automated release management with team city & octopusdeploy - NDC 2013
 
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCityUsing Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was bad
 
Awesome JavaScript microservices in the cloud for (almost free)
Awesome JavaScript microservices in the cloud for (almost free)Awesome JavaScript microservices in the cloud for (almost free)
Awesome JavaScript microservices in the cloud for (almost free)
 
Wie verändert sich Testen mit Continuous Delivery?
Wie verändert sich Testen mit Continuous Delivery?Wie verändert sich Testen mit Continuous Delivery?
Wie verändert sich Testen mit Continuous Delivery?
 
Entwickeln ist gut, Releasen ist besser
Entwickeln ist gut, Releasen ist besserEntwickeln ist gut, Releasen ist besser
Entwickeln ist gut, Releasen ist besser
 
Maven, Archiva, Subversion and Team City
Maven, Archiva, Subversion and Team CityMaven, Archiva, Subversion and Team City
Maven, Archiva, Subversion and Team City
 
Devops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMADevops Recto-Verso @ DevoxxMA
Devops Recto-Verso @ DevoxxMA
 
Continuous integration eine Einführung für Unkundige
Continuous integration   eine Einführung für UnkundigeContinuous integration   eine Einführung für Unkundige
Continuous integration eine Einführung für Unkundige
 
Using CI for continuous delivery Part 4
Using CI for continuous delivery Part 4Using CI for continuous delivery Part 4
Using CI for continuous delivery Part 4
 
Using CI for continuous delivery Part 3
Using CI for continuous delivery Part 3Using CI for continuous delivery Part 3
Using CI for continuous delivery Part 3
 
Using CI for continuous delivery Part 2
Using CI for continuous delivery Part 2Using CI for continuous delivery Part 2
Using CI for continuous delivery Part 2
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
 

Ähnlich wie Team City

Clearspring Widgetsphere
Clearspring WidgetsphereClearspring Widgetsphere
Clearspring Widgetsphere
eraz
 
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn
 
.NET DEVELOPER
.NET DEVELOPER.NET DEVELOPER
.NET DEVELOPER
vinaykeith
 
PHX Session #1: Development Best Practices And How Microsoft Helps
PHX Session #1: Development  Best  Practices And  How  Microsoft  HelpsPHX Session #1: Development  Best  Practices And  How  Microsoft  Helps
PHX Session #1: Development Best Practices And How Microsoft Helps
Steve Lange
 
.NET DEVELOPER
.NET DEVELOPER.NET DEVELOPER
.NET DEVELOPER
vinaykeith
 

Ähnlich wie Team City (20)

Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
 
Os Alrubaie
Os AlrubaieOs Alrubaie
Os Alrubaie
 
Os Alrubaie
Os AlrubaieOs Alrubaie
Os Alrubaie
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Reverse Engineering Malicious Javascript
Reverse Engineering Malicious JavascriptReverse Engineering Malicious Javascript
Reverse Engineering Malicious Javascript
 
Java Ide Day 2008 - Presentation on Intelli J Idea by Vaclav Pech
Java Ide Day 2008 - Presentation on Intelli J Idea by Vaclav PechJava Ide Day 2008 - Presentation on Intelli J Idea by Vaclav Pech
Java Ide Day 2008 - Presentation on Intelli J Idea by Vaclav Pech
 
Clearspring Widgetsphere
Clearspring WidgetsphereClearspring Widgetsphere
Clearspring Widgetsphere
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEP
 
Nevmug Lighthouse Automation7.1
Nevmug   Lighthouse   Automation7.1Nevmug   Lighthouse   Automation7.1
Nevmug Lighthouse Automation7.1
 
Refactoring Ruby on Rails Applications
Refactoring Ruby on Rails ApplicationsRefactoring Ruby on Rails Applications
Refactoring Ruby on Rails Applications
 
Code Generation with giant CRUD
Code Generation with giant CRUDCode Generation with giant CRUD
Code Generation with giant CRUD
 
10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About Plone10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About Plone
 
Practical use of defect detection and prediction
Practical use of defect detection and predictionPractical use of defect detection and prediction
Practical use of defect detection and prediction
 
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
 
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
 
Design Based Dev
Design Based DevDesign Based Dev
Design Based Dev
 
.NET DEVELOPER
.NET DEVELOPER.NET DEVELOPER
.NET DEVELOPER
 
PHX Session #1: Development Best Practices And How Microsoft Helps
PHX Session #1: Development  Best  Practices And  How  Microsoft  HelpsPHX Session #1: Development  Best  Practices And  How  Microsoft  Helps
PHX Session #1: Development Best Practices And How Microsoft Helps
 
.NET DEVELOPER
.NET DEVELOPER.NET DEVELOPER
.NET DEVELOPER
 
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User ExperienceNagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
 

Mehr von Vaclav Pech (11)

Domain Specific Language with pleasure
Domain Specific Language with pleasureDomain Specific Language with pleasure
Domain Specific Language with pleasure
 
Concepts of JetBrains MPS
Concepts of JetBrains MPSConcepts of JetBrains MPS
Concepts of JetBrains MPS
 
Gpars workshop
Gpars workshopGpars workshop
Gpars workshop
 
GPars howto - when to use which concurrency abstraction
GPars howto - when to use which concurrency abstractionGPars howto - when to use which concurrency abstraction
GPars howto - when to use which concurrency abstraction
 
Advanced IDE functionality in modern language workbenches
Advanced IDE functionality in modern language workbenchesAdvanced IDE functionality in modern language workbenches
Advanced IDE functionality in modern language workbenches
 
Pick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruitPick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruit
 
Get 'em before they get You
Get 'em before they get YouGet 'em before they get You
Get 'em before they get You
 
Concurrency on the JVM
Concurrency on the JVMConcurrency on the JVM
Concurrency on the JVM
 
Gpars concepts explained
Gpars concepts explainedGpars concepts explained
Gpars concepts explained
 
Groovy in IntelliJ IDEA
Groovy in IntelliJ IDEAGroovy in IntelliJ IDEA
Groovy in IntelliJ IDEA
 
Groovy Intro
Groovy IntroGroovy Intro
Groovy Intro
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Team City