SlideShare a Scribd company logo
Using TeamCity
Inside JetBrains
—
Evgeniy Koshkin, TeamCity Developer
Evgeniy.Koshkin@jetbrains.com
About JetBrains
—
_2
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
550+ employees
5 offices in 4 countries
90,000+ corporate customers
20 products (16 personal, 4 team tools)
TeamCity Facts
—
_3
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
• Releases
 One major (X.y) and one secondary (x.Y) each year
 Bugfix updates (x.y.Z) as necessary
• Support performed by the development team
Internal TeamCity
Installation
—
• 3700+ active build configurations in 500+ active projects
• 550+ users
• 3000 commits daily
• 6000 builds daily
• 300+ build agents
• 25 minutes last build at average
• 1 hour build waiting in the queue at average
• 53269 maximum tests count per build
_4
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Agenda
—
• TeamCity Basics
• Snapshot Dependencies
• Build Agents Management
• Running Builds Node
• Miscellaneous Admin Practices
• Extending TeamCity
_5
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
TeamCity Basics
—
_6
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Build Agent
—
_7
@JetBrains. All rights reserved
TeamCity BasicUsing TeamCity Inside JetBrains
Build Agent
—
_8
@JetBrains. All rights reserved
TeamCity BasicUsing TeamCity Inside JetBrains
Build Configuration
—
_9
@JetBrains. All rights reserved
TeamCity BasicUsing TeamCity Inside JetBrains
Project
—
_10
@JetBrains. All rights reserved
TeamCity BasicUsing TeamCity Inside JetBrains
Artifact Dependency
—
_11
@JetBrains. All rights reserved
TeamCity BasicUsing TeamCity Inside JetBrains
Build Configuration
Template
—
_12
@JetBrains. All rights reserved
TeamCity BasicUsing TeamCity Inside JetBrains
Build Configuration
Template
—
_13
@JetBrains. All rights reserved
TeamCity BasicUsing TeamCity Inside JetBrains
Snapshot Dependency
—
• Get consistent build results
• Trigger builds efficiently
• Manage application components version
• Have full control over build pipeline
• Make historical builds
_14
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Build
Cross-Platform
Application
—
_15
@JetBrains. All rights reserved
Consistent Build ResultsUsing TeamCity Inside JetBrains
Build
Cross-Platform
Application
—
_16
@JetBrains. All rights reserved
Consistent Build ResultsUsing TeamCity Inside JetBrains
Build
Consistency
Issue
—
_17
@JetBrains. All rights reserved
Consistent Build ResultsUsing TeamCity Inside JetBrains
Snapshot
Dependency
—
_18
@JetBrains. All rights reserved
Consistent Build ResultsUsing TeamCity Inside JetBrains
Snapshot Dependency
—
• Get consistent build results
• Trigger builds efficiently
• Manage application components version
• Have full control over build pipeline
• Make historical builds
_19
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
One-by-One
Triggering
—
_20
@JetBrains. All rights reserved
Trigger Builds EfficientlyUsing TeamCity Inside JetBrains
TeamCity-style
Triggering
—
_21
@JetBrains. All rights reserved
Trigger Builds EfficientlyUsing TeamCity Inside JetBrains
Reusing
Build Results
—
_22
@JetBrains. All rights reserved
Trigger Builds Efficiently
commit: win/
Using TeamCity Inside JetBrains
Buildserver
Optimization Stat
—
_23
@JetBrains. All rights reserved
Trigger Builds Efficiently
Total build time (24h) 3558h:13m
Build with fresher changes triggered 851 870h:56m
Build with the same revisions already exists 3175 509h:46m
Using TeamCity Inside JetBrains
Snapshot Dependency
—
• Get consistent build results
• Trigger builds efficiently
• Manage application components version
• Have full control over build pipeline
• Make historical builds
_24
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Build
Parameters
—
_25
@JetBrains. All rights reserved
Manage Application Components VersionUsing TeamCity Inside JetBrains
Components
Versioning
—
_26
@JetBrains. All rights reserved
Manage Application Components VersionUsing TeamCity Inside JetBrains
Dependency
Properties
—
_27
@JetBrains. All rights reserved
Manage Application Components VersionUsing TeamCity Inside JetBrains
Snapshot Dependency
—
• Get consistent build results
• Trigger builds efficiently
• Manage application components version
• Have full control over build pipeline
• Make historical builds
_28
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Build
Promotion
—
_29
@JetBrains. All rights reserved
Have Full Control over Build PipelineUsing TeamCity Inside JetBrains
Build
Promotion
—
_30
@JetBrains. All rights reserved
Have Full Control over Build PipelineUsing TeamCity Inside JetBrains
Build
Promotion
—
_31
@JetBrains. All rights reserved
Have Full Control over Build PipelineUsing TeamCity Inside JetBrains
Build
Promotion
—
_32
@JetBrains. All rights reserved
Have Full Control over Build PipelineUsing TeamCity Inside JetBrains
Snapshot Dependency
—
• Get consistent build results
• Trigger builds efficiently
• Manage application components version
• Have full control over build pipeline
• Make historical builds
_33
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
History Build
—
_34
@JetBrains. All rights reserved
Make Historical Builds
commit 1: lib/
commit 2: win/
commit 3: linux/
commit 4: win/
Using TeamCity Inside JetBrains
History Build
—
_35
@JetBrains. All rights reserved
Make Historical Builds
commit 1: lib/
commit 2: win/
commit 3: linux/
commit 4: win/
Using TeamCity Inside JetBrains
History Build
—
_36
@JetBrains. All rights reserved
Make Historical Builds
commit 1: lib/
commit 2: win/
commit 3: linux/
commit 4: win/
Using TeamCity Inside JetBrains
Snapshot Dependency
—
• Get consistent build results
• Trigger builds efficiently
• Manage application components version
• Have full control over build pipeline
• Make historical builds
_37
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Build Agents
Management
—
• VMware vSphere Plugin (bundled from 10.0)
• Different build agent images for different teams
• Build agent images are updated by the product teams
• Data store cleanup procedure automated
• Build agents monitoring (in progress)
_38
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Building VM Template
—
_39
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains Build Agents Management
Hardware Configuration
DSL
—
• Groovy based
• VMWare vSphere SDK http://www.yavijava.com
_40
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains Build Agents Management
import agent
agent.newInstance().deploy (
source: 'agent-linux',
team: 'intellij',
image: 'linux',
cpus: 2,
memory: 16384,
reserveAllRAM: true,
diskSize: 50)
Deployment
—
_41
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains Build Agents Management
Product Teams
Responsibility
—
_42
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains Build Agents Management
Running Builds
Node
—
_43
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Miscellaneous
Admin Practices
—
• Do not run antivirus on server (but check published artifacts)
• Use groups to manage users (sync with LDAP)
• Do NOT authorize dev machines as build agents
• Do backups (UI, DB script)
_44
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Extending TeamCity
—
• Many of out-of-the-box features are plugins
• Maven based SDK
• Stable open API
• https://confluence.jetbrains.com/display/TW/TeamCity+Plugins
_45
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains
Slack Notifier
—
_46
@JetBrains. All rights reserved
Extending TeamCityUsing TeamCity Inside JetBrains
https://github.com/enlivenhq/teamcity-slack
Torrent Plugin
—
_47
@JetBrains. All rights reserved
Extending TeamCityUsing TeamCity Inside JetBrains
https://confluence.jetbrains.com/display/TW/Torrent+plugin
TeamCity Benchmark
—
_48
@JetBrains. All rights reserved
Extending TeamCityUsing TeamCity Inside JetBrains
https://confluence.jetbrains.com
/display/TW/TeamCity+Benchmark
https://blog.jetbrains.com/teamcity/2015/
08/benchmarking-teamcity/
TeamCity Achievements
—
_49
@JetBrains. All rights reserved
Extending TeamCityUsing TeamCity Inside JetBrains
https://github.com/JetBrains/teamcity-achievements
Developing TeamCity
Plugins
_
mvn archetype:generate
-DarchetypeRepository=https://download.jetbrains.com/teamcity-repository
-DarchetypeArtifactId=teamcity-plugin
-DarchetypeGroupId=org.jetbrains.teamcity.archetypes
-DarchetypeVersion=RELEASE
mvn package
_50
@JetBrains. All rights reserved
Using TeamCity Inside JetBrains Extending TeamCity
Thank you
for your attention
—
jetbrains.com

More Related Content

What's hot (20)

PDF
Showdown CI/CD - TeamCity
Boyan Mihaylov
 
PPTX
From Continuous integration to Continuous Delivery with TeamCity
Sergey Pak
 
PPTX
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
Codit
 
PDF
Bamboo Continuous Integration Server - Brief
Ellen Feaheny
 
PPT
Continuous Integration
elliando dias
 
PPTX
Continuous integration using atlassian bamboo
Alexander Masalov
 
PPTX
Continuous integration
Dennis van der Stelt
 
PPTX
Jenkins
MohanRaviRohitth
 
PPT
Jenkins CI
Knoldus Inc.
 
PPT
Continuous integration
amscanne
 
PDF
Continuous Integration
Udaypal Aarkoti
 
PPTX
Chapter 4
Yenifer Castrillon
 
PDF
Chicago alm user group tfs version control poster - tfvc and git
Dave Burnison
 
PPTX
Chapter 4
Yenifer Castrillon
 
PPT
Continuous deployment steve povilaitis
Steve Povilaitis
 
ZIP
Continuous Integration, Build Pipelines and Continuous Deployment
Christopher Read
 
PDF
Jenkins
Roger Xia
 
PPTX
Continuous integration
Yoshan madhumal
 
PDF
Build automation best practices
Code Mastery
 
PDF
Jenkins-CI
Gong Haibing
 
Showdown CI/CD - TeamCity
Boyan Mihaylov
 
From Continuous integration to Continuous Delivery with TeamCity
Sergey Pak
 
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
Codit
 
Bamboo Continuous Integration Server - Brief
Ellen Feaheny
 
Continuous Integration
elliando dias
 
Continuous integration using atlassian bamboo
Alexander Masalov
 
Continuous integration
Dennis van der Stelt
 
Jenkins CI
Knoldus Inc.
 
Continuous integration
amscanne
 
Continuous Integration
Udaypal Aarkoti
 
Chicago alm user group tfs version control poster - tfvc and git
Dave Burnison
 
Continuous deployment steve povilaitis
Steve Povilaitis
 
Continuous Integration, Build Pipelines and Continuous Deployment
Christopher Read
 
Jenkins
Roger Xia
 
Continuous integration
Yoshan madhumal
 
Build automation best practices
Code Mastery
 
Jenkins-CI
Gong Haibing
 

Similar to Using TeamCity Inside JetBrains (11)

PPTX
Tc open-doors-day-speech
Evgeniy Koshkin
 
PDF
Build pipelines with TeamCity
Anton Arhipov
 
PDF
Using CI for continuous delivery Part 2
Vishal Biyani
 
PDF
Build pipelines with TeamCity and Kotlin DSL
Anton Arhipov
 
PDF
DPE Summit - A More Integrated Build and CI to Accelerate Builds at Netflix
Roberto Pérez Alcolea
 
PDF
Building CI pipeline based on TeamCity & Docker in Android Team
Paweł Gajda
 
KEY
Mozilla Internship 2010 Presentation
anamaria0509
 
PDF
Continuous Integration in android
Sergiy Mokienko
 
PDF
1-compute engine.pdf
gentstock40
 
PDF
Build pipelines with TeamCity
Anton Arhipov
 
PDF
DevOpsDaysRiga 2018: Anton Arhipov - Build pipelines with TeamCity
DevOpsDays Riga
 
Tc open-doors-day-speech
Evgeniy Koshkin
 
Build pipelines with TeamCity
Anton Arhipov
 
Using CI for continuous delivery Part 2
Vishal Biyani
 
Build pipelines with TeamCity and Kotlin DSL
Anton Arhipov
 
DPE Summit - A More Integrated Build and CI to Accelerate Builds at Netflix
Roberto Pérez Alcolea
 
Building CI pipeline based on TeamCity & Docker in Android Team
Paweł Gajda
 
Mozilla Internship 2010 Presentation
anamaria0509
 
Continuous Integration in android
Sergiy Mokienko
 
1-compute engine.pdf
gentstock40
 
Build pipelines with TeamCity
Anton Arhipov
 
DevOpsDaysRiga 2018: Anton Arhipov - Build pipelines with TeamCity
DevOpsDays Riga
 
Ad

Recently uploaded (20)

PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
Adobe Premiere Pro Crack / Full Version / Free Download
hashhshs786
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Adobe Premiere Pro Crack / Full Version / Free Download
hashhshs786
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Ad

Using TeamCity Inside JetBrains