Typical DevOps Workflow
2 min readMar 3, 2023
The different stages are numbered in the below diagram and are shown in brackets.
Below is a typical DevOps workflow:
- Developers develop their code.
- Commit the code to local Git repository (Git keeps track of source code changes in developer’s local system)
- Once code is ready, developers push the code to remote GitHub repository. When multiple developers are working on a common project, GitHub distributed repository ensures code integrity and solves collaboration issues between developers.
- We use Jenkins to integrate all the tools and it ensures that the code moves from one stage to another stage automatically. So, Jenkins clones the GitHub repository.
- Jenkins will execute Maven command for build process. Maven compiles and packages the source code into an artifact
- Once build is success, Jenkins will ask Maven to push the source code to SonarQube for code quality analysis.
- Once code quality is ‘Pass’, Maven publishes the artefact to JFrog artifactory
- Once artefacts are ready in JFrog artifactory, the artefacts can be deployed to application servers. The app server can be a standalone (apache tomcat) OR it can be a Docker container.
- Jenkins calls Ansible scripts to run playbooks to create custom docker image (that includes our artefact). Ansible playbook will take care of publishing custom images to the docker hub.
- Once customized image is available at docker hub, Jenkins will run the deployment manifest and service manifest on Kubernetes cluster. The Kubernetes master starts creating the application instances (viz deploy the application) on the worker nodes (pods)
- Once the application is running successfully, we can now access the application using a URL which is mapped to specific application endpoint. End users can now access the application.