Skip to content

techworldwithmurali/devops-zero-to-hero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

429 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

40 Days of DevOps Zero to  Hero Roadmap and Syllabus - Moole Muralidhara Reddy - TechWorld with Murali

40 Days of DevOps: Zero to Hero 🚀

A comprehensive, structured 40-day learning journey that takes you from foundational knowledge to practical, job-ready skills. This roadmap is perfect for beginners to experienced professionals and those looking to solidify their DevOps understanding.

Day 1: DevOps Overview

  • Waterfall & Agile Methodology Overview
  • DevOps Overview
  • Creating an AWS Account
  • Creating a Linux EC2 Instance
  • Downloading and Installing PuTTY and PuTTYgen
  • Connecting to a Linux Server using PuTTY
  • Creating and Connecting to an Ubuntu EC2 Instance Using PuTTY
  • Creating and Connecting to a Windows EC2 Instance using RDP

Day 2 - Linux

  • What is Linux
  • Linux Basic commands with examples
  • Linux directory structure
  • Working with files
  • Working with directories
  • Working with cp & mv commands
  • Working with soft, hard link, and inode numbers

Day 3 - Linux

  • Creating and deleting users in Linux
  • Creating and deleting groups in Linux
  • Working with file permissions
  • Working with file ownership
  • Working with rm command
  • Working with head & tail
  • Working with top & free commands
  • Working with tar command
  • Working with zip command

Day 4 - Linux

  • Working with yum command
  • Working with rpm command
  • Working with find command
  • Working with df, du, kill, ps commands
  • Working with echo, env, tac commands
  • Working with sleep, exit, host, diff commands

Day 5 - Linux

  • Working with ssh command
  • Working with scp command
  • Working with crontab
  • Working with sed command
  • Working with telnet
  • Working with netstat command
  • Working with nslookup
  • Working with ifconfig and ipconfig

Day 6 - Git

  • What is Git
  • Installing Git on Linux
  • Installing Git on Ubuntu
  • Installing Git on Windows
  • Git Workflow
  • Working with git init & git config commands
  • Creating and Deleting Git Branches

Day 7 - Git

  • Creating a GitHub Account
  • GitHub Dashboard Overview
  • Pushing Code from Local to Remote Repository
  • Changing the Existing Remote URL in Local Repository
  • Cloning a Repository from Remote to Local
  • Difference between git pull and git fetch
  • Working with git merge & git rebase
  • How to Create a Pull Request on GitHub

Day 8 - Git

  • Working with git reset command
  • Working with git revert command
  • Working with .gitignore file
  • Working with git diff & git HEAD
  • Deletion of a GitHub Repository
  • Feature Branching Strategy in Git
  • Release Branching Strategy in Git
  • Creation of a GitLab Account
  • GitLab Dashboard Overview
  • Creation of a Git Repository in GitLab
  • Deletion of a GitLab Repository

Day 9 - Maven

  • What is Maven
  • How to Access an EC2 Instance from Windows Using MobaXterm
  • Installation of Maven on Linux Server
  • Installing Maven on Windows
  • What is pom.xml
  • What is settings.xml

Day 10 - Maven

  • Creating a Java Application using Maven
  • Maven Build Lifecycles
  • Creating a Web Application using Maven
  • Types of Maven Repository
  • Skipping Test Cases with Maven
  • Understanding and Exploring pom.xml Options

Day 11 - Nexus

  • What is Nexus
  • Installation of Nexus on Linux Server
  • Accessing Nexus Using the DNS Name
  • Nexus Dashboard Overview
  • Integrating Nexus with Maven

Day 12 - JFrog Artifactory

  • What is JFrog Artifactory
  • Installing JFrog on Linux
  • Accessing JFrog using the DNS name
  • Integrating AWS RDS PostgreSQL with JFrog
  • Integrating JFrog with Maven

Day 13 - SonarQube

  • What is SonarQube
  • Installation of SonarQube on Linux Server
  • Accessing SonarQube Using the DNS Name
  • Integrating AWS RDS PostgreSQL with SonarQube
  • Integrating SonarQube with Maven

Day 14 - Tomcat

  • What is Tomcat
  • Types of Roles Available in Tomcat
  • Installing Tomcat on Amazon Linux
  • Tomcat Dashboard Overview
  • Setting Up Tomcat as a Service in Linux
  • Deploying a WAR File in Tomcat
  • Changing the Port Number in Tomcat on Linux
  • Changing the Log Path in Tomcat
  • Installing Multiple Tomcat Instances on a Single Server
  • Installing Tomcat on Windows
  • Changing the Port Number for Tomcat on Windows
  • Upgrading Tomcat from Version 7.0.106 to 9.0.87

Day 15 - Jenkins

  • Overview of Jenkins
  • What are the different installation options for Jenkins
  • Installing Jenkins on a Linux Server
  • Accessing Jenkins Using the DNS Name
  • Integrating EFS with Jenkins to Maintain Persistent Data

Day 16 - Jenkins

  • Overview of the Jenkins Dashboard
  • Exploring Manage Jenkins options
  • Creating a Jenkins job
  • Resetting the Jenkins Admin user’s password
  • Installing and Managing Jenkins Plugins

Day 17 - Jenkins

  • Setting up a Maven project in Jenkins
  • Integrating Nexus with Jenkins
  • Integrating JFrog with Jenkins
  • Integrating SonarQube with Jenkins

Day 18 - Jenkins

  • Exploring Build Triggers in Jenkins
  • Restart, Safe Restart, Copy, and Move Jobs in Jenkins
  • Using Build with Parameters in Jenkins
  • Creating Users in Jenkins
  • Setting up Role-Based Authorization Strategy
  • Integrating Jenkins with Active Directory

Day 19 - Jenkins

  • Understanding Master and Slave Nodes
  • Setting up a Linux Slave Node in Jenkins
  • Setting up a Windows Slave Node in Jenkins

Day 20 - Jenkins

  • Upstream and Downstream Jobs
  • Setting up the Build Pipeline
  • Taking Backup and Restoring Jenkins
  • Creating a Slack account
  • Sending notifications from Jenkins to Slack

Day 21 - Jenkins Pipeline

  • Overview of Jenkins Pipelines
  • Difference between Declarative and Scripted Pipelines
  • Understanding fields in a Declarative Pipeline
  • Exploring the Declarative Pipeline option
  • Creating a sample Jenkinsfile

Day 22 - Jenkins Pipeline

  • Building a Java Application Using Jenkins Pipeline
  • Publishing Artifacts to JFrog Artifactory with Jenkins Pipeline
  • Integrating SonarQube with Jenkins Pipeline for Code Quality

Day 23 - Ansible

  • What is Ansible
  • Installing Ansible on Linux
  • How Ansible Workflow Works
  • Introduction to Ansible Ad-Hoc Commands
  • Ansible Ad-Hoc Commands with Examples
  • What is SSH
  • Manually Setting Up an SSH Connection
  • What are Ansible Modules

Day 24 - Ansible

  • What is Ansible Playbook
  • Automating HTTPD and Git Installation Using Ansible
  • Using with_items in Ansible Playbooks
  • Working with Variables in Ansible Playbooks
  • Understanding Ansible Playbook Options
  • Using Tags in Ansible Playbooks

Day 25 - Ansible

  • Automating Tomcat Installation with Ansible Playbook

Day 26 - Ansible

  • What is Ansible Role
  • Understanding Ansible Role Directory Structure
  • Automating HTTPD Installation with Ansible Role
  • What is Ansible Vault

Day 27 - Ansible

  • Automating Tomcat Installation with Ansible Roles

Day 28 - Docker

  • Difference Between Containerization and Virtual Machines
  • What is Docker
  • Exploring the Available Docker Components
  • Installing Docker on Linux
  • Installing Docker on Ubuntu
  • Installing Docker on Windows

Day 29 - Docker

  • What is a Dockerfile
  • Writing a Dockerfile to Build an Image

Day 30 - Docker

  • What is DockerHub
  • Creating a DockerHub Account
  • What is a Docker Image
  • Docker Image Commands with Examples
  • Pushing and Pulling Images from DockerHub
  • Pushing and Pulling Images from AWS ECR
  • What is Docker Storage

Day 31 - Docker

  • What is a Docker Container
  • Docker Container Commands with Examples

Day 32 - Docker

  • Working with Docker Networks
  • Working with Docker Volumes
  • Maintaining Persistent Data for Docker Containers

Day 33 - Docker

  • Reduce Docker Image Size by 80% with Multistage Docker Builds
  • Writing a Real-Time Dockerfile for a User-Registration Microservice
  • Automate Dockerfile Creation with Docker Init

Day 34 - Jenkins Pipeline Projects

  • Automating Docker Image Build and Push to DockerHub Using Jenkins Pipeline
  • Automating Docker Image Build and Push to AWS ECR Using Jenkins Pipeline

Day 35 - Jenkins Pipeline Projects

  • Deploying Applications on Kubernetes Using Jenkins Pipeline
  • Automating Kubernetes Deployment with Helm and Jenkins Pipeline

Day 36 - Jenkins Shared Libraries Projects

  • Introduction to Jenkins Shared Libraries
  • Difference Between Without and With Jenkins Shared Library
  • Setting Up and Configuring Jenkins Shared Libraries

Day 37 - Jenkins Shared Libraries Projects

  • Cloning and Building a Java Application using Jenkins Shared Libraries
  • Using Jenkins Shared Library to Integrate SonarQube for Code Quality

Day 38 - Jenkins Shared Libraries Projects

  • Build and Push Docker Image to DockerHub with Jenkins Shared Libraries
  • Build and Push Docker Image to AWS ECR with Jenkins Shared Libraries

Day 39 - Jenkins Shared Libraries Projects

  • Automating Kubernetes Deployment with Jenkins Shared Libraries
  • Automating Kubernetes Deployment with Helm and Shared Libraries

Day 40 - Other Ways to Install Jenkins

  • Installing Jenkins on Kubernetes using Helm

Congratulations! You've successfully completed the 40 Days of DevOps: Zero to Hero. Now, you're all set to confidently attend interviews and crack them!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages