CI/CD Pipeline Flow Explained♾️

Janani Thesu Vasudevan
Cloudnloud Tech Community
3 min readJan 30, 2023

First Lets understand the Terminologies before we get into the stuff😎

What is pipeline ?
Pipeline is a set of automated processes and tool that helps you automate the steps in your software delivery process, such as initiating automatic builds and then deploying to Amazon EC2 instances.

CIContinuous Integration means the system frequently integrates new code changes and commit into the central repository usually few times per day.
This CI process makes it easier to merge different code changes and spot bugs.

CDContinuous Delivery It is the Automated delivery of complete code to environments like testing and development, Provides automated and consistency way for code to be delivered to these environments
CD helps developers automate the whole software release operation.

Continous Deployment — this is the next step to Continuous Delivery,
Every Changes that passes the automated tests is automatically placed in production, resulting in many production deployment.

CI/CD Flow

💹AWS Service for CI/CD — “AWS Codepipeline”
AWS CodePipeline is a AWS Service that builds, tests, and deploys your code every time there is a code change, based on the release process models you define.
Use CodePipeline to orchestrate each step in your release process.
you will plug other AWS services into CodePipeline to complete your software delivery pipeline.

Implementation of CI/CD

CI CD Functionality

Lets say Suppose you are working in a project and you write some sample code for implementing Addition functionality along with it you also write unit test case, Then you push the code from working space (Local Repo)to Git Repository!!
Now you have the functionality and Unit test cases inside the git repo.. There might also be chances to add some other test cases for the same functionality by other developers. .!!

Lets say Developer B is working on Subtraction functionality he also pushes his code and unit test case to that same Git Repository.
Whenever you push something your unit test case will run in pipeline, when you push the code with the existing test cases your test case will also run and on the basis of Unit test cases and the report will generate for the application is working as expected or not, So This process is called as Continuous Integration.📊

If the pipeline is running fine and the expected result passes , then we Deploy the code to QA for their testing, This is called as Continuous Deployment

Why we need this pipeline

Jenkins - Its a Automation tool which is used in CI/CD , It is very easy to deploy your code to different environments .
Now Jenkins come into picture, Here we will setup a pipeline it is nothing but a Set of Jobs which we have inside Jenkins, And the purpose of this Job is to take the code from git repository run your Unit test cases for the entire application.
Once the execution is successful then CD pipeline will take the code from CI pipeline ,After successful execution of this process the code will be available in Git Repository where QA pulls to their local repo for testing.!!

QA tests the application using automation or functional testing.!!

✨Follow me “Janani Thesu vasudevan” on Linkedin for interesting information and Quick Learnings✨

--

--

Janani Thesu Vasudevan
Cloudnloud Tech Community

Hi Everyone, I'm Janani TV 😎 Welcome to My Blog🥳 For Titbits on AWS Cloud Stay connected with me in Linkedin - Janani Thesu Vasudeavn