DevOps is a combination of Developers and operations. A DevOps Engineer is an engineer who makes life easy for developers and the operations team by working with them to sort out the issues that we are facing in doing our daily or ad hoc deployments.
A DevOps engineer comes in handy when you have multiple projects with many tools and technologies, and you want someone who can work on multiple projects at the same time.
DevOps lifecycle consists of multiple stages that help in automation so that a product can be delivered in a timely manner:
Continous Integration: Continous Integration is a methodology in DevOps where developers checkout the code from main responsitory, create a new feature branch and merge back the code to the same repository, The way in which continous Integration works is a developers merge the code to the main branch that triggers the automated pipelines/workflows which builds and tests the code and provides the feedback. Some of the important benefits of using Continous Integration is that it helps in collaboration, earlier detection of bugs, improves the efficency and provides continous feedback.
Continous Development: Continous Software Development is a practice where the code is development in small chuncks and pushed to as to follow the iterative code development process. Some of key benfits of continous development is it helps in better collaboration, also it helps to detect any issues earlier so that it can be rectified and solved as soon as possible.
Continous Testing: Continous testing is one of the ways of making sure that we are testing the changes continously so that we can detect any bugs and repor them to deverlopers as soon as possible so that it can rectified and fixed to avoid it from impacting any other features or going into production. It provides a very efficient and better way to communicate with the developers and make sure that everything is in place before making any issues.
Continous Delivery: Continous delivery is the process where we push the code in iterative manner so that we have the features released as soon as possible. Some of the highlights of continous devilery are faster time to market, as the code is released in small iterations so it is easier to find any issues and track them.
Continous Feedback
Build: The first step in any automation or deployment is to generate the artifacts that can be used for the deployment, Build stage is responsible for generating the artifacts which will be deployed in the deployment stage