Continuous Integration in Kieker

Similar documents
Software Construction

ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes

Build management & Continuous integration. with Maven & Hudson

Delivering Quality Software with Continuous Integration

Continuous Delivery. Alejandro Ruiz

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Continuous Integration Multi-Stage Builds for Quality Assurance

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

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

Continuous Integration (CI)

Continuous Integration

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Introduction to Programming Tools. Anjana & Shankar September,2010

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

Code Quality Assurance. Peter Kofler, Code Cop FH Technikum Wien, February 2010

Kevin Lee Technical Consultant As part of a normal software build and release process

Modern practices TIE-21100/

SMZ. SocialMedia. Z olutions

Continuous Integration

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

Software infrastructure for Java development projects

Continuous Delivery. Ariel Alonso, IPC

Accelerate Software Delivery

Continuous Integration on System z

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

SOFTWARE DEVELOPMENT BASICS SED

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

The 3C Approach for Agile Quality Assurance Continuous Integration, Continuous Measurement, Continuous Improvement

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

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

HP ALM11 & MS VS/TFS2010

Software Continuous Integration & Delivery

Continuous Integration Processes and SCM To Support Test Automation

Java Software Quality Tools and techniques

Continuous Integration: A case study

Continuous Integration: Put it at the heart of your development

Continuous Delivery by example.net

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

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

Microservices for Scalability

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software

Continuous Integration: Aspects in Automation and Configuration Management

Self Adaptive Software System Monitoring for Performance Anomaly Localization

Jenkins: The Definitive Guide

Best Practices for Java Projects Horst Rechner

In depth study - Dev teams tooling

Continuous Integration. CSC 440: Software Engineering Slide #1

Tool-Supported Application Performance Problem Detection and Diagnosis. André van Hoorn.

Maintaining Quality in Agile Environment

Security Automation in Agile SDLC Real World Cases

Continuous Prevention Testing

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

Continuous Integration

Software Configuration Management and Continuous Integration

Performance Benchmarking of Application Monitoring Frameworks

SOA-14: Continuous Integration in SOA Projects Andreas Gies

Leveraging Rational Team Concert's build capabilities for Continuous Integration

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

Open-Source-Software als Katalysator im Technologietransfer am Beispiel des Monitoring-Frameworks

Continuous integration for databases using

Realizing Continuous Performance Management

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

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Hudson Continous Integration Server. Stefan Saasen,

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software

Test Driven Development Part III: Continuous Integration Venkat Subramaniam

JDemo - Lightweight Exploratory Developer Testing

The Value of Adopting Agile & CI for OBIEE

Fail early, fail often, succeed sooner!

IT Home 2015 DevOps 研 討 會

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

Introduction to Agile Software Development Process. Software Development Life Cycles

Keywords Continuous Integration, Engineering Pipeline, SonarQube, Test Orchestration.

Practical QA in a Nutshell

A Hundred Days of Continuous Integration

Quality Cruising. Making Java Work for Erlang. Erik (Happi) Stenman

Continuous integration for databases using Redgate tools

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

Achieving Continuous Integration with Drupal

Software Engineering II - Exercise

DevOps Stack. Reid Holmes. Chris Parnin:

Transcription:

28. November 2014 @ Stuttgart, Germany Continuous Integration in Kieker (Experience Report) Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Software Engineering Group, Kiel University, Germany 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 1

A Short Outline 1. An Introduction to Continuous Integration 2. Continuous Integration in Kieker 3. Conclusion 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 2

A Short Outline 1. An Introduction to Continuous Integration 2. Continuous Integration in Kieker 3. Conclusion 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 3

Continuous Integration is a software development practice where members of a team integrate their work frequently [ ] (Martin Fowler) Origins in Extreme Programming (XP) The Meaning of CI Writing Code Goals: Increase and monitor software quality Reduce effort for developers Increase communication Realization: Automate as much as possible (build, tests, ) Publishing Reports Performing Automated Test Performing Automated Build 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 4

The Meaning of CI (Cont d) Some Practices of CI [Based on Fowler and Foemmel 2006] => CI Server (e.g., Jenkins) Maintain a single source repository => VCS (e.g., Git) Automate the build => Build tools (e.g., Ant, Gradle) Make your build self-testing => Testing (e.g., JUnit) Keep the build fast Make it easy [ ] to get the latest executable => Snapshots Everyone can see what's happening => Reports Task Management (e.g., Trac, Jira) 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 5

The Impact of CI Given all of the above, teams moving to a CI driven process can expect to achieve at least a 40% reduction in check-in overhead when compared to a check-in process that maintains the same level of code base and product quality. (Ade Miller, 2008) 2013: 68% use CI 1 2014: 78.5% use CI 2 [1] RebelLabs Developer Productivity Report 2013 [2] RebelLabs Java Tools and Technologies Landscape for 2014 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 6

A Short Outline 1. An Introduction to Continuous Integration 2. Continuous Integration in Kieker 3. Conclusion 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 7

Maintain a single source repository 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 8

Automate the build 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 9

Automate the build (cont d) 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 10

Make your build self-testing Unit- and Integration-Tests (JUnit) Static Code Analysis (PMD, Checkstyle, Findbugs) Regression Benchmarking (MooBench) Jan Waller, Florian Fittkau and Wilhelm Hasselbring Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 11

Make your build self-testing (cont d) 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 12

Make your build self-testing (cont d) 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 13

Make your build self-testing (cont d) 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 14

Make your build self-testing (cont d) 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 15

Everyone can see what s happening 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 16

Make it easy [ ] to get the latest executable 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 17

Task Management 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 18

A Short Outline 1. An Introduction to Continuous Integration 2. Continuous Integration in Kieker 3. Conclusion 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 19

Conclusion Benefits: Early warnings and feedbacks for the developers Avoid corruption of anything without noticing Automated a lot of jobs More relaxing releases Challenges: CI does need some initial effort Keep CI in synchronisation with the project Complex system for new developers 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 20

Bibliography Martin Fowler and Matthew Foemmel; Continuous Integration; 2006 RebelLabs; Developer Productivity Report 2013; 2013 RebelLabs; Java Tools and Technologies Landscape for 2014; 2014 Ade Miller; A Hundred Days of Continuous Integration; 2008; AGILE 08 Conference; Pages 289-293 27. 28. November 2014 Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Continuous Integration in Kieker 21