In April 2019, we initiated building a DevOps environment in our corporate while starting a new project.
I will give a short brief for every main actors in the DevOps chain and finally show the continuous delivery flow of our project.
What is DevOps?
- Is a set of software development practices
- Combines software development and information technology operations to shorten the systems development life cycle
- Delivering features, fixes, and updates frequently in close alignment with business objectives
Current DevOps Chain in our project:
A DevOps toolchain is a set or combination of tools that aid in the delivery, development, and management of software applications throughout the systems development life cycle, as coordinated by an organisation that uses DevOps practices. Below picture shows the actors in our project DevOps chain:
What is Jira?
Jira is a issue tracking product developed by Atlassian that allows bug tracking and agile project management.
- Plan – Create user stories and issues, plan sprints, and distribute tasks across your software team
- Track – Prioritize and discuss your team’s work in full context with complete visibility
- Release – Ship with confidence and sanity knowing the information you have is always up-to-date.
- Report – Improve team performance based on real-time, visual data that your team can put to use.
What is GitHub?
GitHub is a code hosting platform for collaboration and version control. GitHub lets you (and others) work together on projects.
What is Jenkins?
Jenkins is an open source automation server which helps to automate the non-human part of the software development process
- delivering or deploying
What is SonarQube?
SonarQube is the leading product for Continuous Code Quality which detects bugs, code smells, and security vulnerabilities on 20+ programming languages. With a Quality Gate in place(Jenkins), you can fix the leak and therefore improve code quality systematically.
Project Continuous Delivery Flow
Continuous delivery automates the entire software release process. Every revision that is committed triggers an automated flow that builds, tests, and then stages the update. The final decision to deploy to a live production environment is triggered by the developer. Here is the flow prepared for Project:
We are planing to add the selenium test automation tool to our system and we will integrate it with Jenkins. I will share it soon.
In many thanks to for the contributions about it to Serhat Karataş.