|
via Udemy |
Go to Course: https://www.udemy.com/course/devops-tools-training/
In this online DevOps course, you will learn the following aspects:- Gain in-depth knowledge of the DevOps methodology.- Implement software version control.- Git, Jenkins & Maven Integration- Apache Maven - Spring Boot Maven Project- SonarQube - Code quality tool for better code- Containerize code for production using Docker.- Create CI/CD pipelines using Jenkins.- Manage configurations using Ansible.- Automate build and testing using Selenium and Maven.- Orchestrate containers using Kubernetes.Every section of this course has a different set of quizzes, and there is also many project lab assignment that will help you demonstrate what you have learned.Course CurriculumModule 1: Overview of DevOps Introduction to DevOps Benefits of working in a DevOps environment DevOps Lifecycle DevOps Stages DevOps Delivery Pipeline Module 2: AWS - EC2 Service Create an AWS Account Create an EC2 Instance - Amazon Linux Create a key pair - Public & Private Key MobaXterm - Connect EC2 Instance Putty - Connect EC2 Instance Create an EC2 Instance - Ubuntu Access Instance using User Name & Password (Without using Private key) More about private & public key Passwordless authentication from Linux to Ubuntu Server Lab - Access the Amazon Linux Instance other than the default user Lab - Access the Ubuntu Linux Instance other than the default user Lab - Passwordless Authentication between Amazon Linux & Ubuntu and Vice versaModule 3: LinuxLinux File Hierarchy StructureBasic Linux Commands Practicepwd, touch, vi, vim, nano, cp, mv, mkdir etcModule 4: Manage User Account in Linux Overview of User Administration Lab - Managing User Account Lab - User & Group Creation Lab - Primary & Supplementary group Lab - Usermod Command Lab - Shadow fileModule 5: Version Control with Git Overview of Git & GitHub Create a GitHub Account, repository, clone - Distributed Version Control System Git configuration Stages in Git Git pull from Remote to Local Git push from Local to Remote Stages in Git - Add & CommitModule 6: Working with Branches in Git Introducing Branches Lab - Create branches (master & Develop) Create & push branch from Local to Remote Feature branches Pull Request - To merge one branch into another Release branch Hotfix Branch Lab - Release & Hotfix Branch Add Reviewer in Pull Request with Branch protection rules PR - Comment, Approve & Request changesModule 7: Conflict Resolutions in Git Understanding conflicts in git merge Create a merge conflict & resolve it Use TortoiseGit S/W to resolve conflicts Resolve conflicts from GitHub using web editor using PR with one reviewerModule 8: Real Project examples - Scenario-based cases Git clean command to remove file & directory Undoing changes on existing files Git Revert Command Git Reset Command Git fetch command Git pull command The difference git merge & git fetchModule 9: GitHub Deep Drive - Cherry-pick, tags, rebase & merge in Git What is Cherry-pick in git? Lab on Cherry-pick with conflicts in merging Git tags Delete tags from local & remote Git rebase command The difference between git rebase & mergeModule 10: Apache Maven - Spring Boot Maven Project Overview of Maven Tool Maven Lifecycle: Default, Clean & Site Repositories used in Maven Lab - Build the Springboot package in AWS Environment Lab: Location of Artifacts & built package dependencies Lab: Exploring pom.xml file Lab: Access the package application Lab: Exploring dependencies of a built package Lab: Build Lifecycle Lab: Lab: Create a Web Application Project Using MavenModule 11: SonarQube - Code quality tool for better code About SonarQube tool & its features SonarQube Installation Check SonarQube logs & configuration SonarQube Service & port Access SonarQube via URL Set up Maven to build the package SonarScanner for Maven Lab - Bad code detected by SonarQube Lab - Code corrected and rechecked by SonarQubeModule 12: Maven Deploy to Nexus Repository Configure Nexus Server Configure Sonatype Nexus Repository Manager Build Springboot Maven Project Requirements for Nexus in the pom.xml file Nexus login credentials Upload the artifacts to the Nexus repositoryModule 13: Jenkins - Automation Software DevOps Tool About Jenkins tool Installation of Jenkins Overview of Jenkins Dashboard Create First Job in Jenkins Job - Default User & Workspace Location Status, Weather & Build Stability of a Job Search Panel in Jenkins Dashboard Manage Jenkins - Configure System Manage Plugins - Install a simple theme pluginModule 14: Jenkins GitHub Integration Clone the git project using Shell Delete workspace before build starts Use SCM to clone git repositoryModule 15: Build Pipeline - Continuous Delivery vs Continuous deployment Create Jenkins Pipeline Using Build Pipeline Continuous Delivery vs Continuous deployment Parallel Jobs in Jenkins Build PipelineModule 16: Project - Deploy the WAR file package to a Tomcat Server using Jenkins - CICD Overview of project Clone the code from Git Repository Integrate Maven with Jenkins Build the Package using Maven Tool Install & Configure Tomcat Server Configure a Pipeline using Build Pipeline Deploy the Package file (.war) to Tomcat ServerModule 17: Jenkins Pipeline - Declarative Pipeline Jenkins Pipeline - Declarative Pipeline Create the first Pipeline as code - Create the first Jenkinsfile Multiple stages in pipeline script Run commands using pipeline script Variable/Environment in pipeline script Define stage-level variables using pipeline script Build parameters in the pipeline script Boolean & choice parameters in pipeline script Input from the user in the pipeline script Post actions in the pipeline scriptModule 18: Configuration Management Using Ansible Introducing Ansible Overview of Ansible Architecture Ansible Components Guided Exercise: Installing Ansible Managing Ansible Configuration Files Guided Exercise: Managing Ansible Configuration Files Running Ad Hoc Commands Guided Exercise: Running Ad Hoc Commands Lab: Deploying AnsibleModule 19: Implementing Playbooks Implementing Playbooks Writing YAML Files Guided Exercise: Writing YAML Files Implementing Modules Guided Exercise: Implementing Modules Implementing Ansible Playbooks Guided Exercise: Implementing Ansible Playbooks Lab: Implementing PlaybooksModule 20: Managing Variables and Inclusions in Ansible Managing Variables Guided Exercise: Managing Variables Managing Facts Guided Exercise: Managing Facts Managing Inclusions Guided Exercise: Managing Inclusions Lab: Managing Variables and Inclusions Module 21: Implementing Tasks Control in Ansible Implementing Task Control Constructing Flow Control Guided Exercise: Constructing Flow Control Implementing Handlers Guided Exercise: Implementing Handlers Implementing Tags Guided Exercise: Implementing Tags Handling Errors Guided Exercise: Handling Errors Lab: Implementing Task ControlModule 22: Containerization using Docker Introduction about containers Installation of Docker Create a first container Fetch container image from docker hub Run a container in backgroup, interactive with tty terminal Delete exited dockers using a single command Get complete details of a running container Check logs & stats of a running container Port forwarding exec, rename & restart the running container Attach a container Kill/stop, pause/unpause a container Create, start, cp command Export/Import Command in Docker Create a image from running container Pull a specific version image from Docker hub Image history, inspect & remove imageModule 23: Dockerfile Overview of Dockerfile, layered architecture Create a centos 7 image using Dockerfile Overview of LABEL, ENV & RUN Command Overview of WORKDIR Copy, add command with their differences Create a user account with password using dockerfile CMD Command SSH to a container Overview of EXPOSE Command ENTRYPOINT in DockerfileModule 24: Real Time CI/CD DevOps Project End To End CI/CD Pipeline Project An Overview of the CI/CD Process Configure Build Server and Install various tools like Java, Git, Maven, Docker Checkout & Build the Project using Maven Tool Install SonarQube on Ubuntu Instance Add Sonar-maven-plugin Start SonarQube Service Check the Code Quality Overview of Dockerfile to Create a Docker Image Create a Repository in AWS ECR Create a Role to Provide Access One AWS Service (CI Server) to another (AWS ECR) Build the Docker Image using Dockerfile Push the Docker Image to AWS ECR Repository Create a CD Server - Continuous Deployment Pull & Execute the Docker Image from ECR to CD Server Recap the Entire CICD ProcessModule 25: Real-Time CI/CD DevOps Project: End-to-End CI/CD Pipeline using Jenkins Install a Jenkins Server (CI Server) Configure Jenkins Create a Jenkins pipeline to checkout and build the project Install SonarQube Server using Docker container Install plugins and add Sonar login credentials Configure SonarQube on Jenkins Server Pipeline for SonarQube Scanner for Jenkins Pipeline for success or aborted due to quality gate failure Configure a webhook Pipeline that uses a Dockerfile to build a Docker image Add Plugins - CloudBees AWS, ECR, Docker Create an IAM User to have access to AWS ECR and add it to Jenkins Server Pipeline to Push the Docker Image to AWS ECR Configure SES to send an email notification Integrate SES with Jenkins using pipeline Pipeline-Receive an Email Notification after the success or failure of Jenkins PipelineModule 26: Orchestration using KubernetesWhat is KubernetesWhy do we use Kubernetes?Monolithic approach for developing applications.Microservices Vs. MonolithicKubernetes Gateway APIEvolution of Containers, Dockers & VMsMicroservices running as containersKubernetes - Orchestration or container management toolFeatures of KubernetesSet up a Kubernetes Cluster in an AWS EnvironmentModule 27: Kubernetes Concepts - Cluster types, Minikube Server, YAML, Pod, Kubelet, Ports Kubernetes Cluster Types of Cluster All-in-one (Single Node Cluster) Single-node, single-master, and multi-worker node clusters. Single-Node etcd, multi-Master, and Multi-Worker Node Cluster. About Minikube Installation of Minikube Server Create the first POD using manifest file written in YAML Language Kubelet commands Check logs of the container Create multiple containers in a POD Kubernetes Annotations Variables in the YAML file Defining Ports Module 28: Labels & Selectors in Kubernetes Labels and Selectors Commands for managing labels & selectors Declarative vs. Imperative Kubernetes commands Two types Selectors Equality Based Set based Practice Lab - Labels & Selectors Practice Lab - Assign a label to the running POD Practice Lab - Search the pod with equality & set-based Node Selector Lab - Create a pod on a specific nodeModule 29: Scaling and Replication in Kubernetes What is ReplicationController? Features of RC Practice Lab - Create Replicas of POD using RC Practice Lab - Recreate the POD, if it crashes, fails, or terminated Scale up & scale down the POD as the load increases Practice Lab - Scale up & scale down the POD What is ReplicaSet? Difference between ReplicationController & ReplicaSet Practice Lab - Create Replicas of POD using ReplicaSet Practice Lab - Use set-based match expressions in RSModule 30: Deployment & Rollback Overview of Deployment and Rollback Manifest for a POD with one container using the deployment object Lab: Launch an application with two PODs using the deployment object Lab: Using the deployment object, upgrade an application from version 1 to version 2 Lab: Roll back the application to the previous version Lab: Roll back the application to any specific versionModule 31: Real-time project: Deploy an Appl to a Kubernetes cluster using Jenkins CI/CDReal-time CI/CD DevOps project: Deploy an application to a Kubernetes cluster using Jenkins.