Continuous Integration, Delivery and Deployment

In today's post we will look at 3 continuous processes. They are:
 
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. By integrating regularly, you can detect errors quickly, and locate them more easily. Because you’re integrating so frequently, there is significantly less back-tracking to discover where things went wrong, so you can spend more time building features.

Continuous Integration brings multiple benefits to the organization but this could be possible only if:
  • Developers check in their code frequently
  • They don’t check in broken code
  • They check in only tested code
  • They build the code on their local machines (work spaces) before check in.
  • After check in, CI server builds the system successfully and after successful build developer go home.
Continuous Deployment is a process by which software is released several times throughout the day – in minutes versus days, weeks, or months. In other words, Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time.Continuous Deployment is closely related to Continuous Integration and refers to the release into production of software that passes the automated tests. You achieve continuous delivery by continuously integrating the software done by the development team, building executables, and running automated tests on those executables to detect problems. 

Continuous Delivery is sometimes confused with Continuous Deployment. Continuous Deployment means that every change goes through the 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.

Comments

Popular posts from this blog

Data Bound Controls in ASP.Net - Part 4 (FormView and DetailsView controls)

ASP.net: HttpHandlers

The Clickjacking attack and X-Frame-Options