Continuous Integration

  • The practice of merging all developer working copies to a shared mainline several times a day.
  • Grady Booch first proposed CI in his 1991 method
  • Extreme programming (XP) adopted the concept of CI
  • It automates build and testing of code every time code is committed for changes.
  • Needs a shared version control repository.
  • CI prevents integration problems
  • Every code change is integrated as it’s developed.

Continuous Delivery

  • It is the ability to get changes of all types into production
  • Changes include
    • new features
    • configuration changes
    • bug fixes
    • experiments
  • The code should always be in a deployable state
  • It automates the flow to production.
  • It is the process to
    • Build
    • test
    • configure
    • deploy

from a build to a production environment.

  • Multiple testing create a Release Pipeline to automate deployment
  • Used to sequence multiple deployment “rings” for progressive exposure
  • Aims to keep production fresh by achieving shortest path from availability of new code to deployment.
  • Uses extensive automation, to minimize time to deploy and mitigate or remediate production incidents (TTM and TTR).
  • Involves
    • comprehensive configuration management
    • continuous integration
    • continuous testing
Menu