Visão Geral
Este Curso CI/CD com Ansible e Terraform, ajuda a entender cenários DevOps em tempo real e ferramentas DevOps famosas como: Ansible, AWX Tower Overview, Jenkins e Terraform.
Conteúdo Programatico
Git
- Introduction to Version Control System
- History of Git
- Git Basics
- States in Git
- Installing Git
- Configuration of Git
- Working with Repositories
- Basic Git Commands
- Working with Remotes
- Tagging
- Git Branching
Introduction to Ansible
- Evolution of Infrastructure
- Overview of Infrastructure as a Code
- What is Configuration Management
- Ansible Overview
- Case Study
Ansible Architecture and Installation
- Ansible Architecture and It’s Working
- Ansible in DevOps
- Installation and Configuration
- Working with Command Line Tools
Ansible Modules
- Overview of Modules
- Types of Modules
- Core Modules
- Extras Modules
- Return Values
- Ad-Hoc Commands
- Case Study
The Playbook Grammar
- Introduction to YAML
- Playbook YAML Definition
- Playbook Terms
- Playbook Tasks
- Writing Ansible Playbooks
Variables, Conditions, Loops, Handlers and Jinja2 Templates
- Hosts and Users
- Variables
- Loops
- Handlers
- Jinja2 Templates
AWX Tower
- Installing AWX Tower
- Features of Ansible Tower
- Managing Jobs
- Manage and Track Inventory
- Remote Command Execution
- Case Study
Getting Started & Setting Up Labs
- Choosing a right Infrastructure as Code tool
- Terraform Overview
- Installing Terraform - Windows Users
- Difference between Terraform and Ansible
- Setting up Azure Account
- Introduction to Azure CLI
- Authenticate Azure with Terraform
- Terraform init, plan and apply
Building Cloud Infrastructure with Terraform
- Introduction to Terraform with Azure
- Create Resource Group
- Terraform Destroy
- Azure Virtual Networks
- Azure Subnet
- Azure Public IP
- Azure Network Interface
- Create Windows and Linux VM
- Azure Storage
- Security Groups Load
- Balancers
- Understanding Terraform State files
- Understanding Desired & Current States
- Terraform Provider Versioning
- Types of Terraform Providers
- Methods to define Terraform provider Version
Read, Generate, Modify Configurations
- Understanding Attributes and Output Values in Terraform
- Referencing Cross-Account Resource Attributes Terraform
- Variables
- Methods to Define Variables
- Data Types for Variables
- Fetching Data from Maps and List in Variable
- Count and Count Index
- For_each
- Create multiple VMs with Terraform
- Conditional Expressions
- Local Values
- Splat Expressions
- Terraform Functions
- Lookup Function
- Element Function
- Zipmap Function
- Data Sources
- Terraform Format
- Validating Terraform
- Terraform Graph
- Saving Terraform Plan to File
Terraform Provisioners
- Understanding Provisioners in Terraform
- Types of Provisioners
- Implementing remote-exec provisioners
- Implementing local-exec provisioners
Terraform Modules & Workspaces
- Understanding DRY principle
- Variables and Terraform Modules
- Terraform Registry
- Terraform Workspace
- Implementing Terraform Workspace
Introduction to Jenkins
- Introduction to Jenkins
- Jenkins Installation
- Introduction to Jenkins UI Create
- First Job
- Add Parameters to your Job
Add SSH Node Credentials in Jenkins
- Install SSH Plugin in Jenkins
- Add Credentials of Node
- Integrate Node SSH Server with Jenkins
Build Job on Remote Machine
- Deploy Web Server Automatically through Jenkins
Jenkins Security
- Enable/Disable Login in Jenkins
- Allow Users to Sign up
- Create Users Manually in the Jenkins DB Create and
- Manage Roles for Jenkins Users
Jenkins Email Integration
- Install a Mail Plugin
- Integration Jenkins and G-mail
- Add notifications to your jobs
Jenkins Ansible Integration
- Store Playbooks, Inventory and Configuration Files on GitHub
- Automatically Pull Code from GitHub then Run on Ansible Server
CICD with Jenkins and Terraform
- Store Terraform Files, Playbooks, Inventory and Configuration Files on GitHub
- Automatically Deploy VMs With the Help of Terraform and Once Machine is Deployed then Run Ansible to Configure Playbooks