Curso Implementing A CI/CD Pipeline

  • DevOps | CI | CD | Kubernetes | Web3

Curso Implementing A CI/CD Pipeline

32 horas
Visão Geral

Curso Implementing A CI/CD Pipeline, Esta aula é uma experiência prática sobre como criar seu pipeline de CI/CD do início ao fim.

Construir, testar e implantar código pode ser complexo e demorado. Este Curso Implementing A CI/CD Pipeline, ministrada por instrutor, fornece a solução de como criar um pipeline de CI/CD automatizado que cria, testa e implanta código sempre que um desenvolvedor envia uma alteração de código, garantindo apenas alta qualidade e o código aprovado é implantado.

Os desenvolvedores não usam ferramentas de software isoladas, então por que aprender ferramentas isoladamente? Este Curso Implementing A CI/CD Pipeline, combina as tecnologias empresariais mais amplamente utilizadas em pipelines únicos, integrados e de ponta a ponta. Ensinaremos git desde o início para que você possa enviar código com segurança para um repositório remoto, como Github ou Bitbucket. A seguir ensinaremos como configurar servidores usando Ansible a partir do código armazenado no git. A seguir, integraremos git e Ansible com Jenkins CI/CD para construir, testar e implantar seu código em ambientes de teste e produção, criando um pipeline DevOps automatizado de ponta a ponta.

Objetivo

Após realizar este Curso Implementing A CI/CD Pipeline, você será capaz de:

  • Manter o código usando Git e GitHub
  • Crie, teste e implante playbooks do Ansible por meio de um pipeline de CI/CD do Jenkins
  • Testes de integração completos
  • Escreva CI/CD como código usando Jenkins
  • Compilar, testar, empacotar e armazenar permanentemente aplicativos Java
  • Armazenar artefatos
Publico Alvo
  • Engenheiros DevOps
  • Operações do sistema
  • Desenvolvedores de código
  • Desenvolvedores de software
  • Profissionais de garantia de qualidade
  • Testadores de software
  • Proprietários do produto
  • Engenheiros de infraestrutura
  • Membros da equipe de desenvolvimento
  • Membros da equipe de operações
  • Gerentes de projeto
  • Gerentes Técnicos de Produto
Pre-Requisitos
  • Entenda a finalidade dos servidores de infraestrutura
  • Familiarizado com scripts de qualquer tipo
  • Experiência trabalhando na linha de comando do Unix, Linux ou PowerShell
  • Experiência com editor de texto de qualquer tipo
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Technology Overview

  1. Terraform – Infrastructure control (optional )
  2. Git - Source Control Management
  3. Chef - Configuration Management
  4. Inspec - Cookbook Testing
  5. Jenkins - Continuous Integration
  6. Docker – Containerization (optional for 4-day delivery)

Terraform – Infrastructure Automation (optional)

  • Terraform use and purpose
  • Getting started with Terraform
  • General concepts
  • Installation
  • Configuration Files
  • Provisioning and Building Infrastructure
  • Changing Infrastructure
  • Destroying Infrastructure
  • Resource Dependencies
  • Input Variables
  • Output Variables
  • Modules – Pre-defined Configurations
  • Remote state management
  • Terraform Enterprise
  • Triggering a Plan from Version Control
  • Workspaces
  • Terraform Enterprise Runs
  • Migration from Open Source to Enterprise
  • AWS
    • Managing infrastructure in AWS
    • Creating IAM Policies
    • Authenticating to AWS
    • Launching a serverless application - Lambda
  • Azure
    • Managing infrastructure in Azure
    • Authentication Methods for Azure
  • Git – Source Control Management
    • Purpose and overview of Git
    • Use cases for Git
    • Git workflow
    • Github, Bitbucket and other Git providers
    • Installation and configuration
    • Finding help on Git
    • Creating Local Git Repositories
    • Basic Git Commands
    • Comparing commits
    • Using a Remote Repository
    • Branching and Merging
    • Using SSH keys with Git private repositories
    • Chef – Configuration Management
    • Chef Architecture and call flow
    • Chef Use cases
    • Idempotence
    • Resources
    • Recipes
    • Cookbooks
    • Integration Testing and Test Kitchen
    • Chef Server – a central management repository
    • Ohai, Attributes and the Node Object
    • Chef Roles
  • Jenkins – Continuous Integration / Continuous Deployment
    • Jenkins Overview, Use Cases and History
    • Initializing a Jenkins server
    • Projects & Jobs
    • Freestyle versus Pipeline
    • Writing a Declarative Pipeline Project - CI/CD as Code
    • Distributing builds using Master and Agent Nodes
    • Views and Folders
    • Managing Credentials
    • Integrating with Git - Source Control Management
    • Triggers: Webhooks and Polling
    • Notifications: Slack and SMTP Email
    • Testing Chef Cookbooks with Test Kitchen in Jenkins
    • Multibranch Pipelines - Reading Entire Repositories
    • Using Maven to Compile, Test & Package Java Applications
    • Storing artifacts in JFrog Artifactory
    • Deploying Chef cookbooks with Jenkins
  • Docker – Containerization And Micro-Service (optional with 4-day delivery)
    • Container Use cases: what problems Docker solves
    • Docker Concepts and Components
    • Most-used Docker Commands
    • Storing Docker images
    • Docker Compose
    • Launching microservices using Docker
    • Building a Docker Image using Jenkins
    • Deploying a Docker container using Chef and Jenkins

Finally, we’ll create the end-to-end Pipeline using Git, Chef & Jenkins:

Three-day option:

  • Write Chef cookbooks with Inspec tests
  • Push the cookbooks to a branch within a Git repo
  • This push will automatically trigger Jenkins to download the cookbooks
  • Jenkins will then initiate testing the Chef cookbooks using Test Kitchen
  • If any tests fail, Jenkins notifies the developer to fix and repeat the build
  • Once all tests pass, Jenkins can require human approval. Once approved, Jenkins will upload the cookbooks to the Chef Server
  • Jenkins will then trigger Chef-managed webservers (in AWS) to download the cookbooks from the Chef Server and deploy the cookbook code
  • Jenkins will then send notifications over both Slack and email regarding any failures or the successful deployment of the cookbooks

Four-day option adds:

  • Upon successful testing in Test Kitchen, create and save a Docker image
  • Notify teams of successful deployment of Docker containers

Five-day option adds:

  • Write Inspec tests for Terraform configurations
  • Test our Terraform Configuration in Test Kitchen
  • Jenkins will use Terraform to launch Docker Hosts running Docker containers, as well as use Chef to configure those containers to run micro-services
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