Devops
Who this course is for?
Students from any technical background wanting to enter DevOps
Beginners with little or no experience in Linux, Git, Jenkins
Computer science, IT, and engineering students preparing for job roles
Software developers looking to automate deployment & testing
Professionals shifting to DevOps/SRE roles in IT companies
Why take this course?
Learn foundational DevOps tools like Linux, Git, and Jenkins
Build strong hands-on skills in scripting, version control & CI/CD
Understand how real-world software is built, tested, and deployed
Prepare yourself for interviews and real-world DevOps job demands
Step into containerization, automation, and modern development workflows
What you will learn?
Linux fundamentals: commands, permissions, scripting, networking
Git version control system with branching, merging, and GitHub workflows
Basics of CI/CD and how Jenkins automates build-test-deploy pipelines
How to write Jenkinsfile, configure pipelines, and use plugins
User, process, and job management in Linux for automation
Shell scripting for automating tasks in a DevOps environment
Core tools and processes that power modern software delivery
Devops
● Introduction to Linux Operating System and popular distributions (Ubuntu, CentOS, Fedora) ● Linux file system hierarchy and key directories: /etc, /var, /usr, /home ● Basic Linux commands: ls, cd, pwd, mkdir, rm, touch, cp, mv with practical exercises ● File and directory permissions: understanding rwx, chmod (numeric and symbolic modes) with practical ● Ownership and groups: chown, chgrp commands with practical usage ● Process management: viewing processes (ps, top, htop), killing processes (kill, killall, pkill) ● Job control: managing foreground/background processes using jobs, bg, fg, nohup with examples ● Managing users and groups: useradd, usermod, groupadd, passwd commands with practical usage ● Linux networking basics: ifconfig, ip addr, ping, netstat, ss, traceroute, nslookup for network checks ● Package management basics: using apt (Debian/Ubuntu), yum/dnf (CentOS/RedHat) for installing software ● Basic shell scripting: using variables, if-else conditions, loops; writing simple .sh scripts with hands-on tasks ● Log files and system monitoring: reading /var/log files, using dmesg and journalctl for system events
● Version control concepts and understanding Git architecture (local, staging, remote) ● Installing and configuring Git using git config --global user.name, user.email ● Initializing repositories with git init and cloning remote repositories using git clone ● Tracking file changes: git status, git add, git commit with meaningful commit message practices ● Git object model basics: how Git stores data internally (blobs, trees, commits) ● Branching: creating branches (git branch), switching (git checkout), deleting (git branch -d) ● Merging branches: fast-forward merge, three-way merge, and resolving merge conflicts practically ● Remote repositories: connecting using git remote add, pushing changes with git push, pulling updates with git pull ● Working with GitHub/GitLab: forking projects, making pull requests, reviewing code, collaborating with teams ● Using git stash for saving temporary work without committing ● Rewriting history safely: using git reset, git revert, git reflog with real examples ● Introduction to Git hooks: automating tasks like pre-commit checks and deployment triggers
● Concepts of Continuous Integration (CI) and Continuous Delivery (CD) in modern DevOps ● Installing Jenkins on Linux and Windows systems step-by-step ● Jenkins architecture: understanding Master-Agent structure and setup ● Exploring Jenkins web interface, user roles, and securing the environment ● Creating freestyle projects and pipeline projects using GUI ● Jenkins plugins: finding, managing, installing, and updating important plugins ● Storing credentials securely in Jenkins using credentials plugin ● Integrating source control systems: connecting GitHub or GitLab to Jenkins ● Build triggers: configuring SCM polling, setting up scheduled jobs, GitHub webhook automation ● Jenkins pipeline syntax: differences between Declarative vs Scripted pipeline ● Writing Jenkinsfile: defining stages, steps, environment variables, and parallel tasks ● Integrating Docker with Jenkins: building, testing, and running containers within pipeline ● Connecting test tools: running unit tests and generating code coverage reports in Jenkins ● Setting up notifications: configuring email alerts, Slack/webhook integrations for team updates ● Backup and restore: safely backing up Jenkins configuration and restoring setups on new machines