Cover image for What is Continuous Integration and Continuous Delivery?

What is Continuous Integration and Continuous Delivery?

deepika_banoth profile image Deepika Banoth ・2 min read

We all follow few rules while writing code. Few of the basic rules involves indentation, syntax, maximum letters in a line, etc.,

I being a developer, I always wanna push good code. This can only be achieved by testing what you have written. At least I wanna meet my basic rules of writing code.

But is it possible to test each line of your code during a tight schedule?

There were times when my pull request was rejected for improper alignment of code. Also, there were times when I broke our Staging environment due to my code change. This is all because of lack of testing.

For example, if you are a javascript developer, you can run js lint before sending a pull request and resolve if it throws an error. What if you have changes in multiple repositories?

How will you test optimized by utilizing time? Here, Continuous Integration comes in to picture.

What is Continuous Integration?

Continuous Integration is a software development practice of testing each change done in your central repository automatically by running automated builds and tests.

Alt Text

From the diagram, we can see: Developer does a code change and pushes changes to his/her own repository. As soon as he/she commit changes a webhook is triggered by the version control, in my case am using Github. Now, the commit webhook will trigger a build which actually runs all your test cases. You can use any CI/CD platform to run your build, amusing JFrog Pipelines.

Now if your build fails, you can go back and do the required changes. If your build passes then you can raise a pull request and send it for review.

I believe the goal of Continous Integration is to find and address bugs as soon as possible. This improves your code quality, system quality and reduce the time it takes to validate any new updates.

What is Continuous Delivery?

Continuous Delivery follows the testing that happens in CI and push to staging/production environments continuously.

Alt Text

The core idea here is to deliver the code to QA or any user base so that it can be regularly reviewed. The main motivation of all this is to improve your software and of course to ship good code.

I hope you find this post helpful 🙂


Editor guide