Continuous Processes By Kelvin Zhu CSCI577B Spring 2013.

Slides:



Advertisements
Similar presentations
Continuous integration, delivery and deployment Primož Gabrijelčič thedelphigeek.com Primož Gabrijelčič thedelphigeek.com.
Advertisements

Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Proprietary Material Provided for Training Purposes Only © 2012 Excella Consulting, Inc.
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
Introduction to Continuous Integration Mike Roberts.
 Definitions  Background/History  Continuous Delivery › How to practice Continuous Delivery  Continuous Integration  Continuous Integration Tools.
Continuous Integration Demonstration. Agenda 1.Continuous Integration Basics 2.Live Demonstration 3.Bamboo Concepts 4.Advantages 5.Version 2.0 Features.
CONTINUOUS DELIVERY / CONTINUOUS INTEGRATION. IDEAS -> SOLUTIONS Time.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
THE CONTINUOUS DELIVERY ZONE Craig Berntson Chief Software Gardener Mojo Software Worx.
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
© 2012 IBM Corporation Rational Insight | Back to Basis Series SCM introduction Chu Shu June 2012.
Continuous Integration and Testing
Craig Berntson
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
Continuous Integration
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
Automated Acceptance Testing and Continuous Delivery Larry Apke Agile Expert
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
CPSC 871 John D. McGregor Change management Module 2 Session 3.
CONTINUOUS DELIVERY OF MICROSERVICES Ken Mugrage
Build automation. Prerequisites for Continuous Integration (CI)  Version Control System  Build automation  Notification on build result sent to related.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
A Git Workflow Model Slides produced from blog by Vincent Driessen and secondary posting at The.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Cruise Training Introduction of Continuous Integration.
Multi-Modal Modeling, Analysis, and Validation of Open Source Software Development Processes Walt Scacchi, Chris Jensen, John Noll, and Margaret Elliott.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
Continuous Deployments using SSDT
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Streamlining the development of your mobile app(s) Frequently releasing value to users Constantly maintaining quality Monitoring app health and engagement.
Benjamin Day Get Good at DevOps: Feature Flag Deployments with ASP.NET, WebAPI, & JavaScript.
PRODUCT - ORGANIZATION - AGILE - LEAN CD - Agile on Steroids - (and what Jenkins got to do with it) Paul Bakker linkedin.com/paulgbakker github.com/p-bakker.
Test all the things! Improving code quality at the OU with Continuous Integration MoodleMoot Ireland UK 2016 Mark Johnson Tony Lin.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
Automated Build and Test
Continuous delivery and the systems approach that is DevOps
Implementing Cloud-based Agile Team Development - Lessons Learned
Continuous Delivery- Complete Guide
Continuous Deployments using SSDT
Continuous Integration and Testing
Understanding how XContinuousIntegration (Xci)
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
Real Metrics for Real Decisions
Building a Continuous Integration Pipeline using VSTS
Continuous Integration
Continuous Integration For Databases
Quantifying Quality in DevOps
X in [Integration, Delivery, Deployment]
DevOps CSCI 577b.
Get Good at DevOps: Feature Flag Deployments with ASP
TDD adoption plan 11/20/2018.
YeahMobi CD Practice based on Container -- openstack meetup
Automated Testing and Integration with CI Tool
Continuous Delivery good & bad 4/20/2012
Continuous deployment best practices, methods and tools.
Continuous Deployments using SSDT
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Continuous Deployments using SSDT
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Continuous Localization
Continuous Deployments using SSDT
Real World Scrum with TFS & VSTS / Azure DevOps
Continuous Integration
HCL’s Viewpoint – DevOps on MS Cloud
Branches And Releases Branch for Urgent Bug Branch for Feature A
Setup QA Process Software Quality Assurance Telerik Software Academy
Samir Behara, Senior Developer, EBSCO
Presentation transcript:

Continuous Processes By Kelvin Zhu CSCI577B Spring 2013

The Typical Non-Continuous Integration (CI) Approach A feature to be developed has been specced out and developers are asked to start working on it A branch in version control for the feature is made On completion, branch is merged with master QA tests system, eventually giving sign-off Code is pushed to production environment

Problems Typical Approach Can Cause A branch in version control for the feature is made compared to

Problems Typical Approach Can Cause On completion, branch is merged with master

Problems Typical Approach Can Cause QA tests system and eventually gives sign-off Where are the automated tests? What needs testing? Everything?

Problems Typical Approach Can Cause Code is pushed to production environment

So Then What’s CI? Continuous Integration (CI) The process of constantly merging development with a master branch for testing (as in on a daily basis) Continuous Delivery (CD) The practice of automatically deploying code to internal systems for further testing as soon as committed changes have passed automated tests

The Basic Idea Commit frequently to reduce merge issues Automatically test each commit Automatically create a production candidate build for each successfully tested commit Deploy that build to necessary environments for manual testing Deploy builds that pass manual testing to production

How Does This Help? Automation and Risk Reduction! Changes are smaller and thus less likely to break things QA can have the confidence to test only the modified items instead of the whole product due to automated tests Builds are already release candidates meaning if they pass testing they can be deployed as is Promotes Test Driven Development (TDD) which helps ensure new code has automated tests

How About Taking It To The Extreme? Continuous Deployment The practice of automatically deploying code to production as soon as committed changes have passed automated tests Basically removing manual testing from the picture Automated tests have to be fantastic Not for every situation, especially as bigger organizations usually need approvals in order to deploy

Relation to CSCI 577 A bit of overkill for our team projects due to the infrastructure taking a lot of time to set up Most useful for continued development once the product has already been deployed to production (a.k.a. Post CSCI 577 Project) However, once infrastructure is created, development can proceed at a fast pace with confidence

CI Tools Out There The Big Names Bamboo (Part of Atlassian Suite) Jenkins (Originally Hudson) Other Potential Options CruiseControl TeamCity

Sources 1.Humble, Jez, and David Farley. Continuous Delivery. Upper Saddle River, NJ: Addison-Wesley, Print. 2.Duvall, Paul M., Steve Matyas, and Andrew Glover. Continuous Integration: Improving Software Quality and Reducing Risk. Upper Saddle River, NJ: Addison-Wesley, Print.