
Devops Engineer
DevOps Training Syllabus
Introduction
- DevOps Principles in detail
- DevOps Engineer Skills in the market
- Knowing DevOps Delivery Pipeline
- The market trend of DevOps
- DevOps Technical Challenges
- Tools we use in DevOps
DevOps on Cloud
- Types of Server Operating Systems
- Essentials of Cloud computing?
- Cloud and virtualization architecture
- Cloud deployment architecture
- Cloud providers – An overview
- Why do we need DevOps on Cloud?
- Introducing Amazon web services
Git
- Knowing about Version control
- Git – A CLI
- Essentials of GIT in the industry
- How to setup GIT
- Working with various commands in GIT
- Recording Changes to the Repository
- How to check the Status of Your Files
- How to track New Files
- Staging our modified files
- Ignoring Files from GIT
- Viewing Your Unstaged and Staged Changes
- How to commit Your Changes
- Skipping the Staging Area and commit
- Removing Files from GIT
- Viewing the Commit History
- Limiting Log Output
- Using a GUI to Visualize History
- Undoing Things
- Changing Your Last Commit Unstaging a Staged File
- Unmodifying a Modified File
- Working with Remotes
- Showing Your Remotes
- Adding Remote Repositories
- Fetching and Pulling from Your Remotes
- Pushing to Your Remotes
- Inspecting a Remote
- Removing and Renaming Remotes
- Branching and Merging in Git
- What a Branch Is
- Basic in Branching and Merging
- Branch Management in GIT
- Branching Workflows and their usage
- Remote Branches – create and delete
- Rebasing
- Git workflows
- Git cheat sheet
- Installing Git
- First-Time Git Setup
- Getting a Git Repository
- Working with various git commands
- Working with Local repository vs remote repository
- Managing remote repository
- Stashing operations and various local repository operations
- Branching and merging operations
- Resolving conflicts during merges
- Managing access to repository management
Jenkins –CI/CD
- Essentials of Continuous Integration
- An example scenario where CI is used
- Know about Jenkins and its architecture in detail
- Jenkins tool Management about User management in Jenkins
- Authentication
- Jenkins’s own database user creation
- Options to enable integration with LDAP
- Authorization
- Matrix-based authorization
- Project-based authorization
- Overview of Maven
- Maven project structure
- Maven plugins
- Project Object Model (POM) – the fundamental unit of work in the Maven project
- Maven build lifecycle
- Adding external dependencies to maven pom.xml
- Maven build and test project
- Creating jobs and automatic build settings
- What is Jenkins Pipeline?
- Why Pipeline?
- Integration with GIT
- How to enable project-based authorization for a job
- Source code management while creating jobs
- Triggering automated build
- Maven job setup
- Know about post-build options for jobs like notifications, triggering another build, publishing reports, etc.
- Adding a slave node to Jenkins
- Building Delivery Pipeline
- Notification settings in Jenkins
- Plugin management in Jenkins
Hands-on Lab
- Installing Jenkins
- Post-installation setup wizard
- Unlocking Jenkins
- Customizing Jenkins with plugins
- Creating the first administrator user
- Administration of Jenkins
- User management – Authentication and Authorization
- Master-slave set up on Jenkins
- Creating basic jobs to pull code from GitHub
- Jobs to perform individual operations
- Setup build pipeline
- Understanding build triggers, build and post-build operations
- Deploying an application to a container using Jenkins
Docker – A Containerization Technology
- Introduction
- Real-world Shipping Transportation Challenges
- Introducing Docker and its technology
- Understanding of Docker images and containers
- Working with container
- How to Share and copy a container
- Container Life Cycle
- How to use Base Image and customize
- Creation of Docker File
- How to Publish Image on Docker Hub
- Introduction to Docker Networking
- Network Types in docker technology
- Docker Container Networking
- Docker Compose – An introduction
- Docker Swarm – An introduction
Hands-on Lab
- How to setup docker-engine
- How to run a docker container by pulling image from public repo
- How do we create a docker file
- Creating different docker files for different application creating a docker-compose file to deploy multi-container
- Creating docker custom bridge networks
- Creating a docker swarm cluster
- Orchestration of container using swarm cluster
Monitoring -Nagios core
- Installation of LAMP in Centos server
- Installation of Nagiosconfigure Nagios Server to Monitor the server and services
Ansible – A configuration Management
- Introducing Ansible – A configuration management tool
- Basics / What Will Be Installed
Understanding Ansible architecture
- Control Machine Requirements
- Managed Node Requirements
- Inventory
- Hosts and Groups
- Host Variables
- Group Variables
- Learn various Ansible Modules
- How to use Adhoc commands
- Parallelism and Shell Commands
- File Transfer
- Managing Packages
- Users and Groups
- Deploying From Source Control
- Managing Services
- Introduction to the YAML script
- Playbook
- About Playbooks
- Playbook Language Example – YAML
- How to Write Playbooks
- Tasks in Playbooks
- Understanding various tasks in the playbook
- Introduction to Handlers and variables
- Learn about using handlers, variables in the playbook
- Become (Privilege Escalation)
- Roles
- Role of Directory StructureUsing Roles
- Role Duplication and ExecutionRole Default Variables
- Role Dependencies
- Role Search Path
- Ansible Galaxy
- Including and Importing
- Includes vs. Imports
- Importing Playbooks
- Including and Importing Task Files
- Including and Importing Roles
