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

No packages published