Agile Austin Dev SIG. June 2013 - Continuous Integration (CI)

Similar documents
Continuous Integration: A case study

Implementing Continuous Integration Testing Prepared by:

Delivering Quality Software with Continuous Integration

Continuous Delivery and Test Automation in Agile SW projects with Robot Framework Antti Pohjonen

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Modern practices TIE-21100/

Software Continuous Integration & Delivery

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

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

Agility via Software Engineering Practices

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

Break It Before You Buy It!

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

The Continuous Delivery Effect

Introduction and Agenda

Software Construction

DJANGOCODERS.COM THE PROCESS. Core strength built on healthy process

Fundamentals of Continuous Integration

Git Branching for Continuous Delivery

Increasing frequency of releases to every week down from quarterly major releases

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

Continuous Integration Northwestern University. Evanston, Illinois November The Business of IT

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

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

Continuous Delivery. Alejandro Ruiz

Test Automation: A Project Management Perspective

Continuous Integration Comes to China.

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Continuous Integration and Delivery at NSIDC

Modern CI/CD and Asset Serving

The Unix-like Build Pattern

ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013

Continuous Integration. CSC 440: Software Engineering Slide #1

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Nova Software Quality Assurance Process

Patterns to Introduce Continuous Integration to Organizations

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

DevOps Stack. Reid Holmes. Chris Parnin:

Distributed Agile Development in the Cloud

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Successful PaaS and CI in the Cloud

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Visual Studio - Continuous Integration

Continuous Delivery: Bridging Quality Between Development and Customers

How To Do Continuous Integration

Upping the game. Improving your software development process

An introduction to the benefits of Application Lifecycle Management

Continuous Integration

CoDe:U Git Flow - a Continuous Delivery Approach

GETTING STARTED WITH CONTINUOUS DELIVERY. Lana wcgp.co

Continuous Integration Using Cruise Control

An Introduction to Continuous Delivery

Whitepaper. Continuous Integration Tools Applying Best Practices to the Toolchain

Continuous Integration in Kieker

Application Release Automation (ARA) Vs. Continuous Delivery

Accelerate Software Delivery

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

Title: Continuous Delivery and Continuous Integration. Conference: 13 th Annual Software Testing Conference 2013

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

@jenkinsconf. Maintaining huge Jenkins clusters - Have we reached the limit of Jenkins?

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

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

Achieving Continuous Integration with Drupal

TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc.

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Enterprise Project Management Buyer s Guide

Atomate Development Process. Quick Guide

How NOT to Do Scrum. Patterns and Anti-patterns. Revised July First presented at New York City Scrum User Group June 17, 2010

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

Mobile Development with Git, Gerrit & Jenkins

How Silk Central brings flexibility to agile development

The care of open source creatures. Vincent Sanders

It s Not Called Continuous Integration for Nothing!

The Tools For Continuous Delivery

jenkins, drupal & testing automating every phing! miggle

ACCELERATE DEVOPS USING OPENSHIFT PAAS

Fast Feedback: Jenkins + Functional and Non-Functional Mobile App Testing Without Pulling Your Hair

Adopting a Continuous Integration / Continuous Delivery Model to Improve Software Delivery

adopting continuous delivery

DevOps: Development Challenges and New Approaches

In depth study - Dev teams tooling

- Solution Spotlight ACCELERATING APPLICATION DEPLOYMENT WITH DEVOPS

ChaMP (Change Management Process)

Agile Delivery Framework Automation & Deployment With Puppet

Continuous Delivery by example.net

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

Image Credit:

Continuous Integration

Building Value with Continuous Integration

Keys to Continuous Delivery Success. Mark Warren Product Director Perforce Software

Continuous Delivery for Force.com

What is Application Lifecycle Management? At lower costs Get a 30% return on investment guaranteed and save 15% on development costs

Use Scrum + Continuous Delivery to build the right thing

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Continuous Integration Processes and SCM To Support Test Automation

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Transcription:

Agile Austin Dev SIG June 2013 - Continuous Integration (CI)

Special thanks to: Our hosts, BancVue, for their hospitality and meeting facilities. And to Agile Austin for providing lunch. * For more SIGs and info, go to agileaustin.org

Agile Austin Developers SIG What: Topics relevant to Agile developers When: Third Thursday each month @ noon Where: BancVue Office Contact: devsig@agileaustin.org Google Group: agileaustin-dev

Recap from Last Meeting: TDD/BDD Highlights Chris and Eric talked about TDD/BDD TDD (Red-Green-Refactor cycle) described as design focused with testing as a side effect TDD Can be done at different levels and with BDD variant can aid cross-functional collaboration Survey from attendees indicated most not currently using TDD ** Any feedback or thoughts from group before we start the next topic?

Continuous Integration (CI)

What is Continous Integration? Continuous integration is the frequent merging of work with a main branch to simplify the merging process and test updates when integrated. The concept usually involves a unit testing framework and a process to trigger builds and/or tests.

Continuous Integration source: https://www.simple-talk.com/blogs/2012/04/12/what-is-database-continuous-integration/

Related Concepts Continuous Delivery - A software development discipline where you build software in such a way that the software can be released to production at any time. The key test is that a business sponsor could request that the current development version of the software can be deployed into production at a moment's notice - and nobody would bat an eyelid, let alone panic. Continuous Deployment - Every change goes through a pipeline and automatically gets put into production, resulting in many production deployments every day. Continuous Delivery just means that you are able to do frequent deployments but may choose not to do it, usually due to businesses preferring a slower rate of deployment. In order to do Continuous Deployment you must be doing Continuous Delivery.

Continuous Integration, Delivery and Deployment source: http://blog.assembla.com/assemblablog/tabid/12618/bid/92411/continuous-delivery-vs-continuous- Deployment-vs-Continuous-Integration-Wait-huh.aspx

Why CI? Simplify Merges Rapid Feedback Identify problems early Make bugs easier to find Reduce bug accumulation Visibility (team and stakeholders) Can be Automated minimize manual intervention plug-ins (i.e. for static code analysis) Enable Continuous Delivery & Deployment

CI Principles Maintain a code repository Automate the build Make the build self-testing Everyone commits to the baseline every day Every commit (to baseline) should be built Keep the build fast Test in a clone of the production environment Make it easy to get the latest deliverables Everyone can see the results of the latest build Automate deployment from http://en.wikipedia.org/wiki/continuous_integration

CI Concerns/Variables Branching Strategies and Version Control develop on trunk and branch for releases develop on branches and release from trunk Check-in Policies many times per day once per day no restriction Build Tools Testing Framework Reporting/Visibility streaming build metrics behind receptionist's desk

CI Notes from Past SIGs Build/CI Tools Jenkins Bamboo Cruise Control Code Analysis Sonar - useful for static code analysis Ndepend -.Net static analysis and code review tool Structure101 - Commercial product for resolving dependency problems and re-architecting Continuous Deployment Difficult for device driver development Nobody was doing CD because it was difficult and often required customization

Netflix Is this really a good idea? Who uses CI/CD? http://techblog.netflix.com/ - tech blog covering cloud, CI and CD topics among other things LinkedIn http://www.wired.com/business/2013/04/linkedinsoftware-revolution/ - article covering LinkedIn's transition to CD Etsy Facebook You?

How are you doing CI? (discussion)

Keys to Remember Automate your build process. Automate tests. (Build test suite over time.) Execute builds once a day minimum. Optimally, build on each commit. Keep build times low. Target < 10 min. Make build results/metrics visible. (Timmy broke the build!) CI/CD servers can and usually do require significant horsepower - $. Start small and grow to meet your needs.

July Dev Sig

Recent Dev SIGs Agile Tools (6 votes) - March Tech Debt (4 votes) - April TDD/BDD (3 votes) - May CI (3 votes) - June

Dev Sig Backlog - July Topic? 4 votes How to interface with external groups and stay agile. Dependencies on those groups. 3 votes Refactoring 2 votes 1 vote... Emerging Languages Mobile Development Processes/Practices Show and Tell - How do you do Agile?

Special thanks to: Our hosts, BancVue, for their hospitality and meeting facilities. And to Agile Austin for providing lunch. * For more SIGs and info, go to agileaustin.org