0% found this document useful (0 votes)
223 views6 pages

Lilaram Anjane CI/CD Pipeline High Level Overview

The document provides a high-level overview of a CI/CD pipeline for non-cloud platforms. It discusses using tools like Jenkins for continuous integration and deployment to different environments like testing and production. It also outlines the typical steps in a CI/CD pipeline including source control, building, testing, artifact storage, configuration management, and deployment.

Uploaded by

Lilaram Anjane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
223 views6 pages

Lilaram Anjane CI/CD Pipeline High Level Overview

The document provides a high-level overview of a CI/CD pipeline for non-cloud platforms. It discusses using tools like Jenkins for continuous integration and deployment to different environments like testing and production. It also outlines the typical steps in a CI/CD pipeline including source control, building, testing, artifact storage, configuration management, and deployment.

Uploaded by

Lilaram Anjane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

(Document explains high level overview of CI/CD pipeline.

Document By- Lilaram Anjane


Few Points for CI/CD DevOps Pipline
Few points

 We can use CI server (Jenkins, Team City) for application deployment as application release
automation platform. But it is not standard way to use CI server for enterprise applications
for application deployment in data centre.
 This document is high level overview of CI/CD pipeline for non cloud platform.
 Tools logo are registered trademark of respective organization, I just used for education
purpose.
 We can add more tools in pipeline to perform zero touch CI/CD pipeline.

DevOps Task

 Write ansible playbook for system configuration


 Decide branch strategy as per the project.
 Write Jenkins file as per the project requirement & team city steps.(as per the tools)
 Integrate different tools for CI/CD pipeline.
 Monitor application logs & system logs using monitoring tool.
 Provide L1, L2 and L3 support.
 As per the business need change the CI/CD pipeline strategy.
 Come up with new ideas.
 Perform application related task such as db cache, application tuning etc.
 Resolve end user issues.
 Provide application support for production & other issues.
Terminology:

VCS:- Version control system

It manages project source code in repository.


manage different types of branches.
Provide API to integrate with other tool (CI Continuous integration tools-> Jenkins Bamboo, GoCd,
Circle CI, Team City.
E.g Github, SVN, Bitbucket

CI(Continous Integration tool/Server)


CI useful for project source code integration, source building and build deployment.
E.g TeamCity, Jenkins
Artifact Repository

Artifact is archieve files in jar, war, dll, pkg, docker images, as per the project source.
Artifact Repository used to store project artifact so that other resource/tool used it for further task.
E.g Sontype Nexus, Jfrog, Artifactry

Automation Release Platform(Tool)


Automation release tool help us to deploy project artifact to different environement such as
SIT(System Integration Testing ENV), UAT(User Acceptance Testing ENV) ,Pre-Prod, Production(live)
Env.
E.g Nolio, CA Automation Release, urbancode Release.
Environment(Physical server, server in Data Center, Server in On Premise Environment)
We Deploy our artifact(build) in different environment such as SIT, UAT, Production(Live) ENV.

Configuration Management Tool


Configuration management tool help us to create configuration for our application server
environment.(SIT ,UAT , Pre-prod, Production Environment.)
Configuration management tool can be used for Infrastructure provisioning.
E.g Ansible, Chef, SaltStalk, Puppet.

Continous Testing
To perform testing of application we required testing tool.
Testing tool like Selenium,UFT, Test Complete ,Rest Assured, Jmeter as per the testing we perform
on application.
Monitoring tool
For monitoring application & System log we can used monitoring tool.
For Eg. Splunk, ELK, nagios.

CI/CD pipeline (High Level Steps)

1-> Whenever there is a commit on Source code Repository(Github or bitbucket) CI tool keeps tracks
on the same.
2-> CI tool create new build branch as per the branch organization policy. & assign branch unique
build id & if required then it will also tag branch.(as per the branch policy)
3-> after that it will build the project using build tool.(build tool configured in CI server)(E.g maven
,Ant Nant, Npm, Nuget).
4-> if the build creation successful it will run the unit test cases.
5-> if all the unit test cases passed it will start execution of integration test cases.(if integration test
suite exist).
6-> CI server perform static code analysis as per the configured code analyzer & publish the report to
code analyzer server & team as well.
7-> CI server deploy build to artifact Repository For eg. Nexus.
Build can either be type snapshot or Release.
All above steps from 1 to 7 are part of continuous Integration.
Now to deploy our build to low level to High Level Environment (SIT to Production Enviroment) and
to do system configuration & application configuration & application testing we required
tool/platform that integrate with configuration tool & testing tool.
There are different tool available in market for release application automation platform
E.g Nolio, CA Automation Release, Atomic.
Nolio tool can easily integrate with Team city , Jenkins server and also with configuration
management tool & Testing tool also perform artifact build deployment to different environment.
In our steps we consider Nolio tool.
8-> Now Nolio will trigger ansible playbook script for SIT ENV & perform system configuration as per
the playbook scripts.
9-> once all the system configuration completed nolio tool will take build/artifact from nexus and
deployed it to SIT ENV (Suppose tomcat webapps folder)
10->Nolio tool will run test suite in SIT ENV & publish the report via email to all project team.
11-> If the entire test cases passed (100%) in SIT ENV, now SIT ENV Cycle Completed.
12-> Now Nolio will trigger ansible playbook script for UAT ENV & perform system configuration as
per the playbook scripts.
13-> once all the system configuration completed nolio tool will take build/artifact from nexus and
deployed it to UAT ENV (Suppose tomcat webapps folder)
14-> Nolio tool will run test suite in UAT ENV & publish the report via email to all project team.
15-> If the entire test cases passed (100%) in UAT ENV, now UAT ENV Cycle Completed.

For Production ENV there will be a different configuration that might not be same as SIT or UAT.
But for DevOps process our aim is to make all environments identical.
16-> Now Nolio will trigger ansible playbook script for production ENV & perform system
configuration as per the playbook scripts.
17-> once all the system configuration completed nolio tool will take build/artifact from nexus and
deployed it to Production ENV (Suppose tomcat webapps folder)
Here artifact/build for Production ENV is Release type.

You might also like