KEMBAR78
Build pipelines with TeamCity | PDF
Build Pipelines
with TeamCity
@antonarhipov
TeamCity @ JetBrains
2000+ projects
12000+ build configurations
500+ agents
est 2006
TeamCity @ JetBrains
2018.1 (Jaipur) highlights
Kotlin DSL

HA: read-only server

Docker runner improvements

Bundles S3 integration
2018.1 (Jaipur) highlights
Templates (step ordering)

Enforced settings

.NET Core

etc
Big ongoing themes
Kotlin DSL

UI

Scalability & Performance

TeamCity hosted

OpenJDK
More…
Plugins

Meta-data in tests

Authorizing pull requests

Bazel

Investigation auto-assignments
Pipeline
Step 3Step 2 Step 3Step 1
More
steps
Artifact
CI/CD pipeline
AuditTest PackageCompile
Test
CI pipeline
TEST PRODDEV
CD pipeline
jar SW
Check out the sources
Compile
Run tests
Generate reports
Publish the results
Looks
simple!Why would
we need a
“pipeline”?
How long it takes
to run tests?
Check out the sources
Compile
Run tests
Generate reports
Publish the results
Check out the sources
Compile
Run fast tests
Generate reports
Publish the results
Run
integration,
UI,
performance
tests
Pipeline!!
Check out the sources
Compile
Run fast tests
Generate reports
Publish the results
Build Test
Run
integration,
UI,
performance
tests
Check out the sources
Compile
Run fast tests
Generate reports
Publish the results
Test
Reports /
Notifications
Build
UI
tests
Reports /
Notifications
Build Integration tests
Other tests
Tests
Reports /
Notifications
Build Tests
Tests
Build
Tests
Reports /
Notifications
Build Tests
Tests
Build
Dependencies
Build chains
Step 1
Step 2
Step 3
Step 4
Step 1
Step 2
Step 3
Step 4
rev 1
rev 2
rev 3
Step 1
Step 3
Step 4
rev 1
rev 3
rev 3
Step 2
Step 1
Step 3
Step 4
rev 1
rev 3
rev 3
Step 2
rev 1
rev 3
rev 3
Step 1
Step 3
Step 2
Step 4
rev 3
“snapshot dependency”
Step 1
Step 3
Step 2
Step 4
rev 1
rev 3
Step 1
Step 3
Step 4
rev 1
rev 3
rev 3
Step 2
“snapshot dependency”
Queue optimisation
B
rev1
A
rev1
C
rev1
D
rev1
1 2 3 4
…
B
rev1
A
rev1
C
rev1
D
rev1
1 2 3 4
…
B
rev2
B
rev1
A
rev1
C
rev1
D
rev1
1 2 3 4
…
B
rev2
B
rev2
A
rev1
C
rev1
D
rev1
1 2 3 4
…
6500 builds
~40%
3000-4000 CPU hours
Demo
@antonarhipov
?anton.arhipov@jetbrains.com

Build pipelines with TeamCity