Introdução a CI/CD na AWS

Automatizando implantações na AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Ciclo contínuo

Automatizando implantações na AWS

Conheça o instrutor

dunieski-otano-instructor-with-aws-certifications.png

Automatizando implantações na AWS

Por que CI/CD importa

  • Deploys manuais são lentos e sujeitos a erro
  • Devs fazem push e esperam alguém implantar
  • CI/CD automatiza o caminho do código à produção
  • Releases mais rápidas, menos erros

 

ci_cd

Automatizando implantações na AWS

O ciclo de vida de CI/CD

  • Source: Código é commitado em um repositório
  • Build: Código é compilado, dependências instaladas
  • Test: Testes automatizados validam o build
  • Deploy: Aplicação é lançada; artefatos passam entre etapas

Lifecycle

Automatizando implantações na AWS

Visão geral dos serviços AWS Code

  • CodeCommit: Controle de versão (repositório Git)
  • CodeBuild: Compila, testa e empacota
  • CodeDeploy: Lança em EC2, Lambda ou ECS
  • CodePipeline: Orquestra todas as etapas

   

 

Code services image

Automatizando implantações na AWS

CI vs continuous delivery vs continuous deployment

  • Continuous Integration (CI): Fazer merge, build e teste a cada push
  • Continuous Delivery: Deploy automático em staging; aprovação manual para prod (mais comum)
  • Continuous Deployment: Todo build aprovado vai ao ar automaticamente

 

three-tier

Automatizando implantações na AWS

Como o CodePipeline orquestra tudo

cp

  • CodePipeline conecta as etapas em sequência
  • Cada etapa contém uma ou mais ações
  • A pipeline dispara automaticamente ao mudar o source
  • Se alguma etapa falhar, a pipeline para
Automatizando implantações na AWS

Um exemplo real de pipeline

  • Source: Dev faz push para o CodeCommit
  • Build: CodeBuild roda testes e gera um ZIP
  • Staging: CodeDeploy lança em staging
  • Aprovação => Produção: Líder aprova e implanta em prod

 

Real pipeline example

Automatizando implantações na AWS

Vamos praticar!

Automatizando implantações na AWS

Preparing Video For Download...