Skip to main content

Command Palette

Search for a command to run...

DevOps

Published
β€’2 min readβ€’View as Markdown

Day 8 of DevOps Learning πŸš€
πŸ‘‰ Today, I dived deeper into the DevOps toolchain and its configurations. I explored the various environments within a typical organization, such as Development (Dev), Quality Assurance (QA), Performance Testing, and Production, all managed through a Jenkins server.
πŸ‘‰ Key Concepts:
- Jenkins Analogy:
Train = Jenkins
Person = Code
Ticket = Configuration File (Jenkinsfile).

πŸ‘‰ Here’s how it works:
- Train (Jenkins): Jenkins is like the train that drives the entire continuous integration/continuous delivery (CI/CD) process. It orchestrates and automates the pipeline.
- Person (Code): The "code" is what Jenkins builds, tests, and deploys. It moves through the pipeline like passengers on a train journey.
- Ticket (Jenkinsfile/Configuration File): The Jenkinsfile acts like a "ticket" because it defines the configuration and steps that the Jenkins pipeline will follow to process the code (like how a ticket defines a person’s journey).

- Each environment compartment, whether Dev, QA, or Production, has its unique setup and purpose. This modularity ensures that the DevOps process is streamlined and scalable across different stages.

πŸ‘‰ DevOps Integration Tools:
A1 - Security
A2 - Build
A3 - JFrog
S1 - Ansible
S3 - Terraform
S4 - Kubernetes
- Each of these tools plays a critical role in automating and managing the various aspects of the DevOps pipeline.
πŸ‘‰ Jenkins and Groovy:
For every project, a Jenkinsfile (written in Groovy language) is stored in the Git repository. This file contains the configurations required for automating the CI/CD process.
πŸ‘‰ SonarQube:
- I covered the properties and syntax of SonarQube, which is used for continuous code quality inspection. It's crucial for maintaining code quality by identifying bugs, vulnerabilities, and code smells during the development process.
πŸ‘‰ Maven Lifecycle:
I wrapped up with the Maven lifecycle, understanding how it differs from GitHub in its role. While GitHub is primarily a version control system, Maven is a build automation tool that manages dependencies and project builds in Java-based projects.