Curso DevOps with Jenkins, Terraform and Hashicorp Stack

  • DevOps | CI | CD | Kubernetes | Web3

Curso DevOps with Jenkins, Terraform and Hashicorp Stack

24 horas
Visão Geral

Curso DevOps with Jenkins, Terraform and Hashicorp Stack, DevOps abrange a pilha Hashicorp. Ele é carregado com informações práticas do mundo real. Da principal empresa de treinamento de desenvolvimento ágil, vem um curso para mover o dial na jornada de DevOps de suas organizações com este workshop de CI/CD, nuvem e virtualização. Você sairá deste curso carregado de conhecimento sobre o uso desta pilha para DevOps com Amazon Web Services para Virtual Private Cloud habilitada, Elastic Load Balancing e Application Virtualization. Esta aula combina exercícios de laboratório conduzidos por instrutor e práticos.

TÓPICOS

  • Jenkins
  • Especialista
  • git
  • Gerenciamento de compilação e lançamento
  • Nuvem e Virtualização
  • Controle de versão
  • Provisionamento
  • AWS
Objetivo

Após realizar este Curso DevOps with Jenkins, Terraform and Hashicorp Stack, o aluno deverá ser capaz de:

  • Use com confiança a pilha descrita no curso.
  • Entenda os vários componentes-chave.
  • Entenda o Git e os conceitos e operações básicas
  • Ramifique, mescle e execute operações em repositórios Git
  • Aplicar o conhecimento para melhorar a confiabilidade dos processos de compilação e lançamento
  • Entenda as várias partes do Jenkins para CI/CD
  • Configurar Maven e Jenkins para implantar os artefatos gerados no Artifactory
  • Use Terraform com AWS
  • Utilizar Atlas com Terraform
  • Implemente a segurança secreta com o Vault
  • Configurar Packer para Virtualização
  • Implemente o Vagrant com Terraform e AWS

 

Publico Alvo
  • Engenheiros de Confiabilidade de Software
  • Desenvolvedores
  • engenheiros
  • arquitetos
  • Administradores do sistema
Pre-Requisitos
  • Um desejo de aprender como esta cadeia de ferramentas DevOps pode melhorar a eficácia de sua organização, criar e liberar processos e continuidade de negócios
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

Introduction to Continuous Integration, Continuous Delivery and Jenkins-CI

  1. Foundation of Agile AppDev
  2. XP Flow
  3. Extreme Programming
  4. Agile Development
  5. What is Continuous Integration
  6. What is Continuous Integration (cont'd)
  7. Typical Setup for Continuous Integration
  8. Setup Notes for Continuous Integration
  9. CI with Artifact Management
  10. What is Continuous Delivery?
  11. Why Continuous Delivery?
  12. DevOps and Continuous Delivery
  13. Continuous Delivery Challenges
  14. Continuous Delivery vs Continuous Deployment
  15. Jenkins Continuous Integration
  16. Jenkins Features
  17. Running Jenkins

Getting Started With Maven

  1. Terminology and Basic Concepts
  2. Artifacts
  3. Lifecycle
  4. Default Lifecycle
  5. Plugins
  6. Running Maven - the Story So Far
  7. Running Maven from an IDE
  8. Common Goals
  9. pom.xml
  10. Example
  11. Example (cont'd)
  12. Artifact Coordinates
  13. Standard Layout for Sources

A Web Application in Maven

  1. A More Complex Project
  2. Putting it Together With Maven
  3. Packaging the Target Artifact
  4. The Source Tree
  5. Dependencies
  6. Transitive Dependencies
  7. Dependency Scope
  8. Working With Servers
  9. Declaring and Configuring Plugins
  10. Running the Plugin
  11. Binding a Plugin Goal to the Lifecycle
  12. Archetypes

Job Types in Jenkins

  1. Introduction
  2. Different types of Jenkins Items
  3. Different types of Jenkins Items (cont'd)
  4. Configuring Source Code Management(SCM)
  5. Working with Subversion
  6. Working with Subversion (cont'd)
  7. Working with Git
  8. Storing Credentials
  9. Service Accounts
  10. Storing Credentials (cont'd)
  11. Build Triggers
  12. Schedule Build Jobs
  13. Polling the SCM
  14. Polling vs Triggers
  15. Maven Build Steps

Continuous Delivery and the Jenkins Pipeline

  1. Continuous Delivery
  2. Continuous Delivery (cont'd)
  3. DevOps and Continuous Delivery
  4. Continuous Delivery Challenges
  5. Continuous Delivery with Jenkins
  6. The Pipeline Plugin
  7. The Pipeline Plugin (cont'd)
  8. Defining a Pipeline
  9. A Pipeline Example
  10. Pipeline Example (cont'd)
  11. Parallel Execution
  12. Creating a Pipeline
  13. Invoking the Pipeline
  14. Interacting with the Pipeline
  15. Pipeline vs Traditional Jobs
  16. Conclusion

Jenkins Plugins

  1. Introduction
  2. Jenkins Plugins - SCM
  3. Jenkins Plugins – Build and Test
  4. Jenkins Plugins – Analyzers
  5. Jenkins for Teams
  6. Installing Jenkins Plugins

Best Practices for Jenkins

  1. Best Practices - Secure Jenkins
  2. Best Practices - Users
  3. Best Practices - Backups
  4. Best Practices - Reproducible Builds
  5. Best Practices - Testing and Reports
  6. Best Practices - Large Systems
  7. Best Practices - Distributed Jenkins
  8. Best Practices - Summary

Overview of the Amazon Web Services (AWS)

  1. Amazon Web Services
  2. The History of AWS
  3. The Initial Iteration of Moving amazon.com to AWS
  4. The AWS (Simplified) Service Stack
  5. Accessing AWS
  6. Direct Connect
  7. Shared Responsibility Model
  8. Trusted Advisor
  9. The AWS Distributed Architecture
  10. AWS Services
  11. Managed vs Unmanaged Amazon Services
  12. Compute and Networking Services
  13. Elastic Compute Cloud (EC2)
  14. AWS Lambda
  15. Auto Scaling
  16. Elastic Load Balancing (ELB)
  17. Virtual Private Cloud (VPC)
  18. Route53 Domain Name System
  19. Elastic Beanstalk
  20. Security and Identity Services
  21. Identity and Access Management (IAM)
  22. AWS Directory Service
  23. AWS Certificate Manager
  24. AWS Key Management Service (KMS)
  25. Storage And Content Delivery
  26. Elastic Block Storage (EBS)
  27. Simple Storage Service (S3)
  28. Glacier
  29. CloudFront Content Delivery Service
  30. Database Services
  31. Relational Database Service (RDS)
  32. DynamoDB
  33. Amazon ElastiCache
  34. Redshift
  35. Messaging Services
  36. Simple Queue Service (SQS)
  37. Simple Notifications Service (SNS)
  38. Simple Email Service (SES)
  39. AWS Monitoring with CloudWatch
  40. Other Services Example

Introduction to Git

  1. What is Git
  2. Git's Design Goals
  3. Git's Design Goals (cont'd)
  4. Branching and Merging
  5. Branching and Merging (cont'd)
  6. Centralized Version Control
  7. Distributed Version Control
  8. Git Basics
  9. Git Basics (Cont'd)
  10. Git Basics (cont'd)
  11. Getting Git
  12. Git on the Server
  13. Git Repository Managers
  14. Git on Somebody Else's Server

Basic Git Operations

  1. Using Git
  2. Definitions
  3. Definitions (cont'd)
  4. Repository (cont'd)
  5. Definitions (cont'd)
  6. Commit
  7. Commit (continued)
  8. How to Think About Commits
  9. Viewing History
  10. Configuring Git
  11. Configuration Scope
  12. User Identification
  13. User Identification (cont'd)
  14. GPG Signing
  15. Gnu Privacy Guard
  16. GPG Basics
  17. GPG and Git
  18. .gitignore
  19. Other Useful Configurations

Branching, Merging and Remotes

  1. Branching
  2. Branches in Git
  3. Branches in Git (cont'd)
  4. Merge
  5. Merge (cont'd)
  6. Fast Forward Merge
  7. --no-ff
  8. More Than One Repository
  9. Working with Remotes
  10. Fetch and Pull
  11. Push
  12. Pull Requests
  13. Tagging a Commit
  14. Lightweight Tags
  15. Annotated Tags
  16. Sharing Tags
  17. Checking Out a Tag

Git Work Flows

  1. Work Flows
  2. Local Work Flow
  3. Feature Branches
  4. Centralized Workflow
  5. Integration Manager Work Flow
  6. Integration Manager Work Flow (cont'd)
  7. Other Work Flows Are Possible

Introduction to GitFlow

  1. What is GitFlow
  2. Benefits
  3. How GitFlow works?
  4. How GitFlow works? (Contd.)
  5. What is GitFlow? (Contd.)
  6. How GitFlow works? (Contd.)
  7. GitFlow Extension
  8. Initializing GitFlow
  9. Features
  10. Release
  11. Hotfixes

Examining History

  1. Looking at History
  2. Log
  3. Blame
  4. Bisect

Introduction to Terraform

  1. What is Terraform
  2. Why Infrastructure as Code
  3. Who is Hashicorp
  4. Other Infrastructure Automation Tools
  5. Terraform
  6. How Does Terraform Work?
  7. Sample Configuration File
  8. Terraform vs Configuration Management
  9. Drawbacks of Configuration Management
  10. Benefits of Declarative Infrastructure
  11. Drawbacks of Declarative Infrastructure
  12. Terraform processing
  13. Master mode
  14. Drawbacks of Master mode
  15. Masterless mode
  16. Agents
  17. Drawbacks of Agents
  18. Agentless

Terraform Basics

  1. The Terraform Command
  2. Running Terraform
  3. The Current State
  4. Directory Structure
  5. Load Order
  6. Configuration Format
  7. HCL
  8. String Interpolation
  9. Configuration Files
  10. Variables
  11. Outputs
  12. Data Sources
  13. Resources
  14. Data Sources and Resources
  15. Providers
  16. Built-in Providers
  17. Configuring Providers
  18. Modules
  19. Defining a Module
  20. Configuring the AWS Provider
  21. Configuring the AWS Provider (cont'd)
  22. Basic Usage - Define an EC2 Instance
  23. Manipulating DNS Entries

VPC ELB and ALB with Terraform

  1. Amazon Virtual Private Cloud
  2. VPC Advantages
  3. Regions and Availability Zones
  4. VPC Concepts
  5. Security Groups
  6. Network Address Translation (NAT)
  7. Public IP Addresses
  8. Load Balancing
  9. VPC with Terraform
  10. 'aws_vpc' Data Source
  11. 'aws_vpc' Resource
  12. 'aws_subnet' Data Source
  13. 'aws_subnet' Resource
  14. 'aws_elb' Resource
  15. 'aws_elb' Listeners
  16. 'aws_elb' Logging and Health Checks
  17. 'aws_alb' Resource
  18. 'aws_alb' Resource (cont'd)
  19. 'aws_alb_listener' Resource
  20. 'aws_alb_listener_rule' Resource
  21. 'aws_alb_target_group' Resource
  22. 'aws_alb_target_group' Resource (cont'd)
  23. 'aws_alb_target_group_attachment' Resource
  24. Some Notes on Load Balancers

Using ECS and ECR with Terraform

  1. What is Docker
  2. Where Can I Run Docker?
  3. Docker and Containerization on Linux
  4. Linux Kernel Features: cgroups and namespaces
  5. The Docker-Linux Kernel Interfaces
  6. Docker Containers vs Traditional Virtualization
  7. Docker as Platform-as-a-Service
  8. Docker Integration
  9. Docker Services
  10. Docker Application Container Public Repository
  11. Docker Command-line
  12. Starting, Inspecting, and Stopping Docker Containers
  13. Docker Benefits
  14. Docker on AWS - ECR and ECS
  15. Using Amazon ECR
  16. Authenticating to ECR
  17. Building a Docker Image
  18. Push to ECR
  19. Elastic Container Service
  20. ECS Cluster
  21. ECS Container Instances
  22. Container Instance with Terraform
  23. Task Definition
  24. Task Definition with Terraform
  25. Service Definition

Introduction to Vagrant

  1. What is Vagrant?
  2. Why Use Vagrant?
  3. The Vagrantfile
  4. Sample Vagrantfile
  5. Vagrant Box
  6. Running Vagrant
  7. Networking
  8. Multi-Machine Usage
  9. Conclusion

Introduction to Packer

  1. What is Packer?
  2. Why Use Packer?
  3. Use Cases
  4. Supported Platforms

Utilizing Packer

  1. Installing Packer
  2. Building an Image
  3. The Build Process
  4. Templates
  5. Template Example
  6. Builders
  7. Amazon EC2 Builder
  8. VirtualBox Builder
  9. Provisioners
  10. Configuration Management Provisioners
  11. Post-Processors
  12. Parallel Builds
  13. Remote Builds
  14. Conclusion

Lab Exercises

  • Lab 1. Configure Tools in Jenkins
  • Lab 2. Install Maven
  • Lab 3. Create a Maven Project
  • Lab 4. Create a Jenkins Job
  • Lab 5. Create a Pipeline
  • Lab 6. Version Control - Git
  • Lab 7. Branching, Merging and Working with Remotes
  • Lab 8. Experimenting with Workflows
  • Lab 9. Using the GitFlow Workflow
  • Lab 10. Terraform installation and instance provisioning
  • Lab 11. Package a Virtual Image with Packer
  • Lab 12. Create AMI template with packer and utilize it with Terraform
  • Lab 13. Exploring the Vault Service
  • Lab 14. Setting Up a Load-Balanced Infrastructure

 

TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h