Hi Folks,
In this article, I would like to
present a simple Devops flow . Basically, Devops works on two concepts, Continuous
Integration and Continuous deployment. In a nutshell, Continuous integration is
integrating different tools and services in the in the environment on the fly
and deployment refers to building,
checking, deploying and running the build in the environment.
Continuous Integration and
Continuous deployment Flow:
1.
Let’s start from the
scratch. Let’s have dvcs(distributed version control system) where different
teams commits the code check in. Once
the code is checked in, A Jenkins job starts and clone the code
2.
Once the code is
cloned, we need to build it using a build tool. Popular and legacy build tools
are ANT and Maven. For suppose, using ANT, we need to generate build file(build.xml)
that generates archive files like .war file. To achieve this task Continuous
integration server(e.g: Jenkins ) has the plugin, ANT
3.
Now, after the war
file is ready, Continuous integration server(e.g: Jenkins ) integrates profiling
tool like SonarQube and starts the profiling job. Profiling checks for code
leakages, best practices etc.
4.
After profiling, Continuous
integration server(e.g: Jenkins ) start
the job for environment provisioning . To
achieve this, we need to add configuration management and environment
provisioning tools(AWS Cloud, Chef server, Docker) plugins in Continuous
integration server(e.g: Jenkins ) .
5.
Now, Continuous
integration server (e.g: Jenkins ) starts the job for environment provisioning.
Minimum steps to achieve at this stage are Spin up virtual machines, Install OS
level services, Install application level services, Install web/application
server
6.
Once the environment
is ready, Continuous deployment server(e.g:
Jenkins) starts the job that installs application on web/application server which
demonstrates application fully up and running on given environment.
Above diagram demonstrates a
sample CI/CD flow. Note that I have not added the add-on services like Continuous
monitoring(e.g: Nagios), email notification service at different levels. As a series of articles I will keep on
improving above flow and include other services.
Well, The Information Provided By Your Blog is Useful for me and Other DevOps Candidates.Many thanks for taking the time to put this together. Great stuff
ReplyDeleteBest Regards,
CourseIng - DevOps Training in Hyderabad