Dev to Production Part -1
Tags: cdcipipeline, jenkins, springboot, angular
Published: 2019-04-28 09:49:31

---
title: Dev to Production Part -1

published: true
description: 
tags: #CD/CI Pipeline,#Jenkins,#Spring-Boot,#Angular
---

The other day I was just lying down in my office chair and pretending to be super busy :wink:, I was building a [Jenkins](https://jenkins.io/doc/) release for one of our Spring-Boot application. My colleague was just passing from there and to spend some time I asked him, do you know what I am doing right now? he told you are making a plan to get Iron man to earth.

As you know this is not real. I asked him what will happen after you push your code?. I got to know that he was not aware of the process after pushing the code. I thought why not write a blog and explain to my innocent colleague, friends and the other people who just push the code and waiting to get the ticket for the end game. So folks just take a chair and grab a beer here is the start of the end game.

Soon I will update the source code at [GitHub](https://github.com/Earth-43/Thanos)
 
The whole life cycle of developing something and get a release to a production environment is called CI/CD pipeline that stands for Continuous Integration and Continuous Delivery.

### *Continuous Integration (CI)*

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.


### *Continuous Delivery (CD)*


CD is the natural extension of Continuous Integration: an approach in which teams ensure that every change to the system is releasable and we can release any version at the push of a button. Continuous Delivery aims to make releases faster and boring, so we can deliver frequently and get fast feedback on what users care about.



> A [continuous integration](https://www.excella.com/insights/what-is-continuous-integration) and deployment (CI/CD) pipeline is such an important aspect of a software project that it saves a ton of manual, error-prone deployment work. It results in higher quality software for continuous integration, automated tests, and code metrics. Ultimately this facilitates better software that can be released more frequently.

![cd/ci](https://thepracticaldev.s3.amazonaws.com/i/aaldvilyo73oy9m0raww.png)

There are a plethora of CI/CD products available out there, such as ones you can use in the cloud via software as a service (SaaS) or self-hosted ones. Some examples of hosted solutions are [CodeShip.io](https://codeship.com/) and [TravisCI](https://travis-ci.org/), and self-hosted examples are [TeamCity,Jenkins](https://www.excella.com/insights/teamcity-vs-jenkins-better-continuous-integration-server) and [Thoughtworks Go](https://www.gocd.org/enterprise/).

To get to know more about this topic you can read this [article](https://thenewstack.io/understanding-the-difference-between-ci-and-cd/).

As this article will be huge, I will explain everything here in a series of the blogs where we will be configuring Jenkins in Windows and Ubuntu Operating Systems and create pipelines for Spring Boot and Angular Apps or maybe for React if you guys are interested.

We will discuss the whole process from scratch and discuss each step in detail so you will have a clear picture of the process.


## **That’s all folks!**

Thanks to [Mohana Krishna](https://www.linkedin.com/in/mohan-nallapaneni/) for the feedback.

I hope this article helped you with an overview of CI/CD Pipeline.

Stay tuned for the next article.

*Follow me on [Medium](https://medium.com/@tech_sam) and [Dev.to](https://dev.to/tech_sam) to get an update about tech.*