Transition from CI to CD

Preview:

Citation preview

The Transition from Continuous Integration to continuous Delivery

Joannah Nanjekyenanjekyejoannah@gmail.com

@JoannahNanjekyeGeek night kampala

● Joannah Nanjekye● Programmer , Fintech Uganda Limited● .Net and Ruby.● Interests

systems programming

About me

Outline

● Overview of CI● Continuous delivery● Demo

what is continous integrationContinuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day

http://www.martinfowler.com/articles/continuousIntegration.html

A Typical CI workflow

The last mile to a release

last mile

The last mile

“It is hard enough for software developers to write code that works on their machine.But even when thats done,there is a long journey from there to software that is producing value since software only produces value when its in production.”

Martin Fowler

Release management Antipatterns

● Manual deployments● Wait until development is done to release.● Manual configuration management.

There is need for repeatable,reliable and reusable way of ensuring reliable releases;

Continuous Delivery

...a set of practices to software delivery that aims at building software so that it is in a state where it could be in production or is releasable at any time ...

What is continous delivery..

Goal

● High Quality releases● Low cycle time

Continuous delivery setup

You are doing CD when….

● Your software is deployable throughout its lifecycle

● Team Priority is having deployable software over working on new features

● Anybody can get fast, automated feedback on the production readiness of their systems any time somebody

makes a change to them

● You can perform push-button deployments of any version of the software to any environment on demand

http://martinfowler.com/bliki/ContinuousDelivery.html

Continous what????

what is required to do CD● Automation of the delivery process.

○ Automated testing○ Continuous integration○ Automated deployment

● The ‘DevOps’ culture of delivery.

Benefits of Continuous delivery

● Making release a non-issue.● Faster Feedback .● Believable progress.● Accelerated time to market.

challenges

● Automated tests● Developer training● Incremental releases are complicated.

Demo

Thank you