Continuous Delivery with TeamCity

Preview:

DESCRIPTION

Continuous Delivery with TeamCity as presented on XPDays 2012 in Kiev, Ukraine

Citation preview

TeamCity – Continuous Delivery Server

Volodymyr Melymuka

Levi9

A first principle behind Agile Manifesto:Our highest priority is to satisfy the customer through early

and continuous delivery of valuable software.

Continuous Delivery

TeamCity - Continuous Delivery Server

Prepare the Release plan

Do first deployment early

Automate everything

Think over the Release Strategy

TeamCity - Continuous Delivery Server

Deployment Pipeline

TeamCity - Continuous Delivery Server

Dependent builds

Create Build Chains with dependent builds

TeamCity - Continuous Delivery Server

Multi-step builds, build chains

TeamCity - Continuous Delivery Server

Use the same scripts to deploy to every environment

Build and Deployment scripting

TeamCity - Continuous Delivery Server

Build and Deployment scripting

TeamCity - Continuous Delivery Server

Keep Sources clean with Remote run

Use delayed commits with TeamCity

TeamCity - Continuous Delivery Server

Use automatic builds triggered by each code/environment/resources change

Apply Continuous Integration

TeamCity - Continuous Delivery Server

Regression

Performance

Automate Acceptance Testing

TeamCity - Continuous Delivery Server

Deploy and Release

TeamCity - Continuous Delivery Server

Roles

TeamCity - Continuous Delivery Server

Developer

QA

Manager

Scalability, maintaining multiple projects

Distributed build Agents

TeamCity - Continuous Delivery Server

Parallel build configurations

Scalability, maintaining multiple projects

TeamCity - Continuous Delivery Server

Advanced scheduling

Sonar, Code quality,Code coverage

TeamCity - Continuous Delivery Server

Integration

Custom build reports (Thucydides, etc.)

TeamCity - Continuous Delivery Server

Custom Reports

Success rate, build duration,

total test count, time to fix…

TeamCity - Continuous Delivery Server

Build metrics

Free Professional vs. paid Enterprise version, pricing, legal workaround =)

Professional editiondoes not require any server license key and has a limitation of maximum 20 build configurations configured.

Enterprise editionedition with unlimited number of build configurations ($1999).Each TeamCity edition comes bundled with 3 agents. More Build Agents can be added with separate licenses ($299 per each).

“Legal” workaroundThere’s no limit on number of TeamCity servers in one local network

TeamCity - Continuous Delivery Server

Quick Summary

TeamCity is a user-friendly continuous delivery (CD) server- for developers, quality and build engineers - easy to set up and free of charge for small and medium teams.

TeamCity - Continuous Delivery Server

Where to go next

TeamCity documentationhttp://confluence.jetbrains.net/display/TCD7/TeamCity+Documentation

Paul M. Duvall “Continuous Integration” http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380

Martin Fowler “Continuous Integration“ http://www.martinfowler.com/articles/continuousIntegration.html

Jez Humble, David Farley “Continuous Delivery”http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912

CI Feature Matrix http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

TeamCity - Continuous Delivery Server

Questions

TeamCity - Continuous Delivery Server

Recommended