TeamCity A Professional Solution for Delivering Quality Software, on Time



Similar documents
Introduction to Programming Tools. Anjana & Shankar September,2010

Continuous Integration

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Build management & Continuous integration. with Maven & Hudson

Software infrastructure for Java development projects

Java Software Quality Tools and techniques

Software Construction

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Continuous Integration: Put it at the heart of your development

Development Environment and Tools for Java. Brian Hughes IBM

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

Maven the Beautiful City. Healthy, Viable, and Productive Build Infrastructures

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Content. Development Tools 2(63)

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

The Complete.NET Developer Productivity Pack

Sonatype CLM for Maven. Sonatype CLM for Maven

Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Building, testing and deploying mobile apps with Jenkins & friends

Continuous Integration: A case study

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

YouTrack MPS case study

Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software

Jenkins: The Definitive Guide

SOA-14: Continuous Integration in SOA Projects Andreas Gies

Paul Barham Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java

JAVA/J2EE DEVELOPER RESUME

IBM Rational Software

Software Development In the Cloud Cloud management and ALM

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Delivering Quality Software with Continuous Integration

Duke University Program Design & Construction Course

Media and Information Provider Unifies Development Processes

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

SMZ. SocialMedia. Z olutions

Software Quality Exercise 2

GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS Software AG. All rights reserved. For internal use only

Version Control Systems: SVN and GIT. How do VCS support SW development teams?

SOFTWARE DEVELOPMENT BASICS SED

SA4 Software Developer Survey Survey Specification v2.2

Escaping the Works-On-My-Machine badge Continuous Integration with PDE Build and Git

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

}w!"#$%&'()+,-./012345<ya

Software Continuous Integration & Delivery

Global sourcing of software development - a review of tools and services. 13/07/2009 Robert Martignoni

Testing Tools Content (Manual with Selenium) Levels of Testing

Maven or how to automate java builds, tests and version management with open source tools

Robotium Automated Testing for Android

soapui Product Comparison

Integration in Practice

Software Engineering I (02161)

design coding monitoring deployment Java Web Framework for the Efficient Development of Enterprise Web Applications

RedTigerSoftware. WEB DEVELOPERS Introduction & Portfolio

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Continuous. Integration. in.net MARGIN KAWALEROWICZ CRAIG BERNTSON MANNING. Greenwich. (74 w. long.)

Sabre Red Apps. Developer Toolkit Overview. October 2014

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Chapter 1: Web Services Testing and soapui

Meister Going Beyond Maven

The maturity level of APEX. Patrick Hellemans Competence Manager Technology

HTML5. Turn this page to see Quick Guide of CTTC

Agile Best Practices and Patterns for Success on an Agile Software development project.

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira

Effektiver Tool-Einsatz

In depth study - Dev teams tooling

Continuous Integration Comes to China.

Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc.

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

MessageGuard 3.0 User Guide

As it relates to Android Studio. By Phil Malone:

One solution for all your Source Configuration Management Needs

A central continuous integration platform

MSWL Development & Tool. Eclipse IDE

Continuous integration for databases using

LECTURES NOTES Organisational Aspects of Software Development

Beginning with SubclipseSVN

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

HP Agile Manager What we do

SAP Technical Brief SAP NetWeaver. Increase IT Productivity with ABAP Development Tools for SAP NetWeaver

SOA Solutions & Middleware Testing: White Paper

Automation using Selenium

Accenture Software. ALIP Technical Presentation

Winning the Battle against Automated Testing. Elena Laskavaia March 2016

CS 4240: Principles of Software Design. Course Introduction. Tom Horton

The power of root on Android emulators

Transcription:

TeamCity A Professional Solution for Delivering Quality Software, on Time Vaclav Pech Senior Software Developer JetBrains, Inc.

About Us Vaclav Pech Professional software developer for 9 years IntelliJ IDEA and TeamCity evangelist JetBrains Makers of award winning productivity tools IntelliJ IDEA, TeamCity, ReSharper, and more 2

About the presentation Part 1: Continuous integration Part 2: Solving problems from a developer s perspective Questions and answers 3

TeamCity is a Continuous integration tool Quality Control tool Tool for team cooperation 4

TeamCity is also IDE-independent Platform-independent Free Professional Edition available 5

Architecture 6

Part 1: Continuous integration Automatic build process Triggered by A timer A VCS update Builds the project Runs tests Generates artifacts Notifies about the result 7

Continuous integration benefits You re always aware of the current project status Spend less time investigating integration bugs Spend less time fixing broken code 8

Part 2: TeamCity solving problems Build server administration Notification spam Nobody fixes the build Locating failures Integration Code quality Tests not run before commit 9

Problem: Build server administration Many builds to run Several projects Different branches Multiple test suites Multiple platforms Multiple machines to run the tasks 10

Solution: Distributed builds 11

Solution: Distributed builds Multi-platform testing Easy administration Automatic update Optimized task distribution Time estimates Build queue Any computer can be used as an agent 12

Problem: Notification spam Inbox is full of e-mail notifications Hard to extract useful information from a failed build notification People stop reading notifications 13

Solution: Clean notifications Less frequent Only failed builds Only builds with my changes Failure after success, success after failure Earlier As soon as a failure is detected Simpler IM, IDE status bar Complete details in IDE or through Web UI 14

Problem: Nobody fixes the build Build starts failing after multiple changes by different developers Everyone thinks that someone else is currently fixing it No fixing actually happens 15

Solution: Take responsibility Easy detection of code changes included in the failed build Developer can take responsibility Different severity indicated for failures without responsibility set 16

Problem: Locating failures Reports in another app Hard to find the problem details in reports No links to source code 17

Solution: IDE integration Show test results just as if they ran locally Direct links to the source code Hanging build detection and notification Thread dump Intuitive UI Optimized for daily use Web Integrated into IDEs 18

Problem: Integration We cannot build with our build tool We have problems with the VCS Our test reports cannot be displayed 19

Solution: Integration Different VCSs CVS, SVN, ClearCase, Runners Ant Maven 2 IntelliJ IDEA projects Command line Notification Email, RSS, Jabber, IDE, windows Tray Notifier IDEs Eclipse, IntelliJ IDEA, Visual Studio Test frameworks JUnit, TestNG, EMMA, Cobertura (planned) 20

Solution: Extensibility Plugins Custom statistics report tools External status widgets Notifiers Runners Triggers User authentication VCSs 21

Problem: Developers rarely use tools for code quality Breaks workflow Results often disconnected from code Too much time required for large projects 22

Solution: Server checks for quality Inspections 700+ rules for Java, JavaScript, HTML, XML, unused and unreachable code, declaration redundancies, performance issues dependency rules Code coverage Code duplicates 23

Problem: We don t always run the tests before commit They take too long to run Complicated environment setup Need to run tests in different environments 5 o clock checkin Result Broken code in VCS Others cannot work Particularly bad with distributed teams 24

Solution: Pre-tested commit Pre-tested commit Let TeamCity run the tests before your changes hit VCS Your machine is available for further coding No more broken builds Run personal builds at any point in time to ensure you are still on track 25

26

Summary Team-focused productivity IDE independent Eliminates a number of traditional continuous integration problems Free professional edition Contact me: vaclav@jetbrains.com 27

Questions 28