Skip to main content
📝 Cloud & DevOps (AWS)

AWS CodeDeploy: Como Configurar um Pipeline CI/CD para Implantar Aplicações no EC2 Usando GitHub

Configure um pipeline CI/CD com AWS CodeDeploy para implantar automaticamente do GitHub para EC2. Guia passo a passo com roles IAM, appspec e solução de problemas.

4 min

Tempo de leitura

630

Palavras

Mar 23, 2025

Publicado

Engr Mejba Ahmed

Escrito por

Engr Mejba Ahmed

Compartilhar Artigo

AWS CodeDeploy: Como Configurar um Pipeline CI/CD para Implantar Aplicações no EC2 Usando GitHub

AWS CodeDeploy: Como Configurar um Pipeline CI/CD para Implantar Aplicações no EC2 Usando GitHub

Implantar aplicações manualmente é tedioso, propenso a erros e ineficiente. O AWS CodeDeploy simplifica a automação de implantações, melhorando a eficiência e minimizando o tempo de inatividade. Neste guia, você aprenderá passo a passo como configurar um pipeline robusto de Integração Contínua e Implantação Contínua (CI/CD) para implantar suas aplicações diretamente do GitHub para uma instância Amazon EC2.

O que você vai precisar:

  • Conta AWS
  • Instância EC2 executando Amazon Linux
  • Repositório GitHub com sua aplicação
  • AWS CLI instalado na sua máquina local

Passo 1: Preparar sua Instância EC2

Conecte-se à sua instância EC2 via SSH:

ssh -i "your-key.pem" ec2-user@your-ec2-instance-public-ip

Instale e inicie o agente do CodeDeploy:

sudo yum update
sudo yum install ruby -y
sudo yum install wget -y

cd /home/ec2-user
wget https://aws-codedeploy-region.s3.region.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto

sudo service codedeploy-agent status

Substitua region pela sua região da AWS, como us-east-1.


Passo 2: Criar uma Role IAM para o CodeDeploy

No Console da AWS:

  • Navegue até IAM → RolesCreate Role.
  • Escolha Serviço AWS, depois selecione CodeDeploy.
  • Anexe políticas: selecione AWSCodeDeployRole.
  • Nomeie sua role (por exemplo, CodeDeployRole) e crie-a.

Passo 3: Configurar a Aplicação do CodeDeploy

  • Vá para AWS CodeDeploy → Applications → Create application.
  • Insira um nome para a aplicação.
  • Escolha a plataforma de computação: EC2/On-premises.

Crie um grupo de implantação:

  • Nome do grupo de implantação (por exemplo, Production)
  • Selecione sua Role IAM (CodeDeployRole)
  • Selecione instâncias EC2 por tag ou selecione manualmente sua instância EC2.
  • Tipo de implantação: In-place.

Passo 4: Preparar seu Repositório GitHub

Crie um arquivo appspec.yml na raiz do seu repositório:

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html
hooks:
  AfterInstall:
    - location: scripts/install_dependencies.sh
      timeout: 300
      runas: root

Crie os scripts necessários, por exemplo, scripts/install_dependencies.sh:

#!/bin/bash
sudo yum update -y
sudo yum install -y httpd
sudo service httpd start
sudo chkconfig httpd on

Certifique-se de que seus scripts tenham permissões de execução:

chmod +x scripts/*.sh

Confirme e envie as alterações para o GitHub:

git add .
git commit -m "Added appspec.yml and deployment scripts"
git push origin main

Passo 5: Conectar o AWS CodeDeploy com o GitHub

  • No console do CodeDeploy, selecione sua aplicação e grupo de implantação.
  • Clique em Create Deployment.
  • Selecione GitHub como tipo de repositório.
  • Conecte-se ao GitHub e autorize a AWS.
  • Escolha seu repositório e a branch de commits (por exemplo, main).
  • Clique em Deploy.

Passo 6: Automatizar com CI/CD Usando GitHub Actions

Crie .github/workflows/deploy.yml no seu repositório:

name: AWS Deploy

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: AWS CodeDeploy
        uses: aws-actions/aws-codedeploy@v1
        with:
          application-name: your-codedeploy-app-name
          deployment-group-name: your-deployment-group
          region: your-region
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

Configure as credenciais da AWS como secrets do GitHub:

  • Vá para GitHub → Settings → Secrets and variables → Actions → New repository secret
  • Adicione seu AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY.

Agora, cada push para main aciona implantações automáticas.


Passo 7: Verificar sua Implantação

Visite o IP público do seu EC2 em um navegador web:

http://your-ec2-instance-public-ip

Você deverá ver sua aplicação implantada com sucesso!


Conclusão

Parabéns! Você configurou com sucesso um pipeline CI/CD do AWS CodeDeploy integrado com o GitHub para implantar automaticamente aplicações no EC2. Essa automação otimizará significativamente seu processo de implantação, reduzirá o tempo de inatividade e simplificará as atualizações.

Publicidade
Coffee cup

Gostou deste artigo?

Seu apoio me ajuda a criar mais conteúdo técnico aprofundado, ferramentas open-source e recursos gratuitos para a comunidade de desenvolvedores.

Tópicos Relacionados

Engr Mejba Ahmed

Sobre o Autor

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

5  -  2  =  ?

Continue Aprendendo

Artigos Relacionados

Ver Todos

Comments

Leave a Comment

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support