Continuous Integration: Aspects in Automation and Configuration Management



Similar documents
Patterns to Introduce Continuous Integration to Organizations

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

Continuous Delivery. Alejandro Ruiz

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

Continuous Integration

Accelerate Software Delivery

Accelerate Software Delivery with Continuous Integration and Testing. JaSST 08 Tokyo. Jeffrey Fredrick Agitar Software,

Delivering Quality Software with Continuous Integration

Software Continuous Integration & Delivery

Continuous Integration

Software Configuration Management and Continuous Integration

The Value of Adopting Agile & CI for OBIEE

DevOps Stack. Reid Holmes. Chris Parnin:

Continuous Integration (CI)

Test Driven Development with Continuous Integration: A Literature Review

SOFTWARE DEVELOPMENT BASICS SED

Agile Project Management

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

Continuous Integration Processes and SCM To Support Test Automation

Continuous Delivery: implementation considerations. Léon Hagenaars-Keus Edwin van Dillen

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

About Me Developer Workspaces Enable Agile Teams

Eclipse Help

Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects

Continuous Integration, Delivery and Deployment. Eero Laukkanen T Software Testing and Quality Assurance P

Agile Software Development

Continuous Integration and Deployment Modern Technique's

Continuous Integration Tooling. Case Study

Implementing Continuous Integration Testing Prepared by:

Hudson Continous Integration Server. Stefan Saasen,

Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY

Develop Software with Confidence

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Introduction to Agile Software Development Process. Software Development Life Cycles

Continuous Integration Multi-Stage Builds for Quality Assurance

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

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

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

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones

Software Construction

Introducing Continuous Integration

Continuous Integration Build-Test-Delivery (CI-BTD) Framework in compliance with ISO26262

BuildBot. S.Cozzini/A.Messina/G.Giuliani. And Continuous Integration. RegCM4 experiences. Warning: Some slides/ideas.

USING SYNERGY WITH CRUISE CONTROL

STeP-IN SUMMIT International Conference On Software Testing

Continuous Integration. CSC 440: Software Engineering Slide #1

In this lab you will explore the Windows XP Firewall and configure some advanced settings.

Lean Software Configuration Management Using 'Process Increments' Software Engineering Competence Center

Modern practices TIE-21100/

CI for FPGA D&V. Continuous Integration for FPGA Design and Verification Verification Futures Alan Fitch, Ericsson TV Ltd

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

Vladimir Bakhov AT-Consulting +7 (905)

Lab - Configure a Windows XP Firewall

An Introduction to Continuous Delivery

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

Software Life Cycles and Configuration Management

A Hundred Days of Continuous Integration

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

Towards Software Configuration Management for Test-Driven Development

Continuous Delivery. Ariel Alonso, IPC

HIPAA Compliance Use Case

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

Netwatch Installation For Windows

Effective feedback from quality tools during development

IT Home 2015 DevOps 研 討 會

Continuous Integration in Kieker

Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development

Taking the first step to agile digital services

Automated Acceptance Testing of High Capacity Network Gateway

TESTING FRAMEWORKS. Gayatri Ghanakota

AVOIDING THE GIT OF DESPAIR

IP Link Device Interface Ethernet Communication Sheet

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

SOE. managing change in system development projects: configuration management

How To Wire An Extron Ip Link Device To A Cell Phone With A Sim Sim Sim Card (Ipl) For A Sim Card With A Power Adapter (Iphones) For An Extravoy) For Free (For A Simio)

Software configuration management

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Managing Your Software Release Process. Author: Damon Poole, Chief Technology Officer

This presentation introduces you to the Decision Governance Framework that is new in IBM Operational Decision Manager version 8.5 Decision Center.

Quick Start Guide. User Manual. 1 March 2012

Institutionen för datavetenskap Department of Computer and Information Science

Tutorial: Packaging your server build

Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.

Deploying the BIG-IP LTM with the Cacti Open Source Network Monitoring System

GENiC. Deliverable D5.1 Development & Integration guidelines including integration environment & means. Dissemination Level: Public

Continuous integration for databases using

Continuous Integration: Put it at the heart of your development

Continuous Integration (CI) for Mobile Applications

Agile So)ware Development

INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE

Continuous Integration

Content. Development Tools 2(63)

RAP Software Process Checklist

Microsoft Dynamics CRM Online Fall 13 Service Update

[Handout for L6P2] How to Avoid a Big Bang: Integrating Software Components

For more about patterns & practices: My blog:

Autodesk Navisworks 2015 Service Pack 2

The Importance of Continuous Integration for Quality Assurance Teams

Transcription:

Context Continuous Integration: Aspects in and Configuration Management Christian Rehn TU Kaiserslautern January 9, 2012 1 / 34

Overview Context 1 Context 2 3 4 2 / 34

Questions Context How to do integration in an agile setting? Why is traditional integration infeasible for agile development? What aspects have to be considered...... w. r. t. automation?... w. r. t. configuration management? 3 / 34

Context Agile Software Development XP Practices CI Overview Context 4 / 34

Context Agile Software Development Agile Software Development XP Practices CI Overview Agile Software Development means less documentation Especially no big upfront design Agile practices needed to compensate lack of planning Some practices also valuable in plan-driven projects 5 / 34

XP Practices Context Agile Software Development XP Practices CI Overview 6 / 34

XP Practices Context Agile Software Development XP Practices CI Overview 6 / 34

Context Continuous Integration Overview Agile Software Development XP Practices CI Overview Continuous Integration is...... an agile integration technique... about integrating every day... tool supported (everything is automated)... widely adopted in practice In agile and plan-driven projects 7 / 34

Context Waterfall Continuous Integration Basics of Continuous Integration 8 / 34

Question Context Waterfall Continuous Integration Why is traditional integration infeasible for agile development? 9 / 34

Waterfall Context Waterfall Continuous Integration 10 / 34

Waterfall Context Waterfall Continuous Integration 10 / 34

Context Waterfall Continuous Integration Problems with the Integration Phase Certain problems are detected late Misunderstandings of technology Independently developed components not fitting together Wrong assumptions Misunderstandings between developers... In waterfall-like processes mitigated by detailed upfront design 11 / 34

Question Context Waterfall Continuous Integration How to do integration in an agile setting? 12 / 34

Context Continuous Integration Waterfall Continuous Integration 13 / 34

Benefits Context Waterfall Continuous Integration Better communication among developers Fast feedback on integration problems Defects found earlier and fixed faster Effort more predictable (no hard to predict integration phase) Reduced risk and higher quality Less residual defects Always a fully integrated product 14 / 34

Question Context Waterfall Continuous Integration Now let s briefly have look at the mentioned aspects automation and. 15 / 34

Context Build Tools 16 / 34

Context The Integrate Button Build Tools 17 / 34

Tools Context Build Tools 18 / 34

Context An Ant Build Script Build Tools <?xml version= 1.0?> <project name= MyLibrarySoftware default= integrate >... <target name= integrate depends= clean,checkout,compile description= Checkout, compile and test everything >... <junit printsummary= yes haltonfailure= yes >... </junit> </target>... </project> 19 / 34

Context Feature Branches Feature Toggles 20 / 34

Feature Branches Context Feature Branches Feature Toggles 21 / 34

Feature Toggles Context Feature Branches Feature Toggles Disable features instead of not integrating them Several possibilities No button in GUI Compiler switches Command line options Configuration files... #ifdef FEATURE1 PRESENT CallFeature1 () ; #endif 22 / 34

In Example Context Feature Branches Feature Toggles 23 / 34

Conclusion Context CI means to integrate several times a day CI needs a high degree of automation CI has some effects on Agile processes require CI Plan-driven processes can also benefit from CI 24 / 34

Context Questions? 25 / 34

Literature Context Paul M. Duvall, Steve Matyas, and Andrew Glover. Continuous Integration: Improving Software Quality and Reducing Risk. Addison-Wesley Professional, 7 2007. (for others see seminar paper) 26 / 34

Appendix Branching Models Branch by Abstraction Appendix 27 / 34

Appendix Branching Models Branch by Abstraction Build Build build is much more than a compile [... ]. A build may consist of the compilation, testing, [... ], and deployment among other things. A build acts as the process for putting source code together and verifying that the software works as a cohesive unit. [DMG07] 28 / 34

Appendix Branching Models Branch by Abstraction Branching (1/3) 29 / 34

Appendix Branching Models Branch by Abstraction Branching (2/3) 30 / 34

Appendix Branching Models Branch by Abstraction Branching (3/3) 31 / 34

Appendix Branching Models Branch by Abstraction Branching Models Branching models tell when to branch and merge One often used branching model is called feature branches 32 / 34

Appendix Branching Models Branch by Abstraction Branch by Abstraction (1/2) 33 / 34

Appendix Branching Models Branch by Abstraction Branch by Abstraction (2/2) 34 / 34