Wednesday, July 31, 2019

CI/CD Pipeline | modern DevOps process

CI/CD:- It bridges the gap between development and operations teams by automating the building, testing, and deployment of applications.

CI stands for Continuous Integration and CD stands for Continuous Delivery/Continuous Deployment. 

We can think of CI/CD as a process similar to a software development lifecycle.



The above pipeline is a logical demonstration of how software will move along the various stages in this lifecycle before it is delivered to the customer or before it is live in production.

web application ->
1. developers responsible for writing and committing code to version control system (git, svn)
2. developers build the web application [build/compilation phase]
3. after build phase, testing phase started [unit test]
4. when test completed, you move to deploy phase where you deploy it into a staging or a test server. Here, you can view the app in a simulator.
5. Once the code is deployed successfully, you can run another sanity test. If everything is accepted, then it can be deployed to production.

So the ultimate goal of CI/CD process is to automate this above entire process.

We will automate the pipeline in order to make the entire software development lifecycle in DevOps/automated mode. 


We can define entire job or the task.

From Git, Jenkins pulls the code and then Jenkins moves it into the commit phase, where the code is committed from every branch. The build phase is where we compile the code. If it is Java code, we use tools like maven in Jenkins and then compile that code, which can be deployed to run a series of tests. These test cases are overseen by Jenkins again.
Then, it moves on to the staging server to deploy it using Docker. After a series of unit tests or sanity tests, it moves on to production.




The CI/CD pipeline is one of the best practices for devops teams to implement, for delivering code changes more frequently and reliably.

Continuous Integration (CI) is a development practice that requires developers to implement small changes and check in code to version control system/ repositories frequently. Each check-in is then verified by an automated build, allowing teams to detect problems early. 

Continuous delivery(CDpicks up where continuous integration ends. CD automates the delivery of applications to selected infrastructure environments. Most teams work with multiple environments other than the production, such as development and testing environments, and CD ensures there is an automated way to push code changes to them.  CD automation then performs any necessary service calls to web servers, databases, and other services that may need to be restarted or follow other procedures when applications are deployed.

Benefits
there is significantly less back-tracking to discover where things went wrong, so you can spend more time building features.
Continuous Integration is cheap
Catch issues early and nip them in the bud
Spend less time debugging and more time adding features
Stop waiting to find out if your codes going to work
Reduce integration problems allowing you to deliver software more rapidly

1 comment:

  1. devops developer one stop solution for all your digital needs We understand the expectations of the businesses of today, thus providing efficient and reliable services that involve the latest trends in technology is our priority. Get Started Brands we work with Previous Next Our Expertise Website Design Your business’ website is the backbone of its internet-based presence.

    ReplyDelete

Web Development

Design Phase:- Below all these represent different stages of the UX/UI design flow:- Wireframes represent a very basic & visual repr...