The Transition from Continuous Integration to continuous Delivery
Joannah Nanjekye
nanjekyejoannah@gmail.com
@JoannahNanjekye
Geek 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 integration
Continuous 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

Transition from CI to CD

  • 1.
    The Transition fromContinuous Integration to continuous Delivery Joannah Nanjekye nanjekyejoannah@gmail.com @JoannahNanjekye Geek night kampala
  • 2.
    ● Joannah Nanjekye ●Programmer , Fintech Uganda Limited ● .Net and Ruby. ● Interests systems programming About me
  • 3.
    Outline ● Overview ofCI ● Continuous delivery ● Demo
  • 4.
    what is continousintegration Continuous 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
  • 5.
    A Typical CIworkflow
  • 6.
    The last mileto a release last mile
  • 7.
    The last mile “Itis 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
  • 8.
    Release management Antipatterns ●Manual deployments ● Wait until development is done to release. ● Manual configuration management.
  • 10.
    There is needfor repeatable,reliable and reusable way of ensuring reliable releases;
  • 11.
  • 12.
    ...a set ofpractices 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..
  • 13.
    Goal ● High Qualityreleases ● Low cycle time
  • 14.
  • 15.
    You are doingCD 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
  • 16.
  • 17.
    what is requiredto do CD ● Automation of the delivery process. ○ Automated testing ○ Continuous integration ○ Automated deployment ● The ‘DevOps’ culture of delivery.
  • 18.
    Benefits of Continuousdelivery ● Making release a non-issue. ● Faster Feedback . ● Believable progress. ● Accelerated time to market.
  • 19.
    challenges ● Automated tests ●Developer training ● Incremental releases are complicated.
  • 20.
  • 22.