Skip to main content
📝 Cloud & DevOps (AWS)

AWS CodeDeploy : Comment Configurer un Pipeline CI/CD pour Déployer des Applications sur EC2 avec GitHub

Configurez un pipeline CI/CD avec AWS CodeDeploy pour déployer automatiquement depuis GitHub vers EC2. Guide étape par étape avec rôles IAM, appspec et dépannage.

4 min

Temps de lecture

628

Mots

Mar 23, 2025

Publié

Engr Mejba Ahmed

Écrit par

Engr Mejba Ahmed

Partager l'article

AWS CodeDeploy : Comment Configurer un Pipeline CI/CD pour Déployer des Applications sur EC2 avec GitHub

AWS CodeDeploy : Comment Configurer un Pipeline CI/CD pour Déployer des Applications sur EC2 avec GitHub

Déployer des applications manuellement est fastidieux, sujet aux erreurs et inefficace. AWS CodeDeploy simplifie l'automatisation des déploiements, améliorant l'efficacité et minimisant les temps d'arrêt. Dans ce guide, vous apprendrez étape par étape comment configurer un pipeline robuste d'Intégration Continue et de Déploiement Continu (CI/CD) pour déployer vos applications directement depuis GitHub vers une instance Amazon EC2.

Ce dont vous aurez besoin :

  • Compte AWS
  • Instance EC2 exécutant Amazon Linux
  • Dépôt GitHub avec votre application
  • AWS CLI installé sur votre machine locale

Étape 1 : Préparer votre Instance EC2

Connectez-vous à votre instance EC2 via SSH :

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

Installez et démarrez l'agent 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

Remplacez region par votre région AWS, comme us-east-1.


Étape 2 : Créer un Rôle IAM pour CodeDeploy

Dans la console AWS :

  • Naviguez vers IAM → RolesCreate Role.
  • Choisissez Service AWS, puis sélectionnez CodeDeploy.
  • Attachez les politiques : sélectionnez AWSCodeDeployRole.
  • Nommez votre rôle (par exemple, CodeDeployRole) et créez-le.

Étape 3 : Configurer l'Application CodeDeploy

  • Allez à AWS CodeDeploy → Applications → Create application.
  • Entrez un nom d'application.
  • Choisissez la plateforme de calcul : EC2/On-premises.

Créez un groupe de déploiement :

  • Nom du groupe de déploiement (par exemple, Production)
  • Sélectionnez votre Rôle IAM (CodeDeployRole)
  • Sélectionnez les instances EC2 par tag ou sélectionnez manuellement votre instance EC2.
  • Type de déploiement : In-place.

Étape 4 : Préparer votre Dépôt GitHub

Créez un fichier appspec.yml à la racine de votre dépôt :

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

Créez les scripts nécessaires, par exemple, scripts/install_dependencies.sh :

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

Assurez-vous que vos scripts ont les permissions d'exécution :

chmod +x scripts/*.sh

Validez et poussez les changements vers GitHub :

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

Étape 5 : Connecter AWS CodeDeploy avec GitHub

  • Dans la console CodeDeploy, sélectionnez votre application et groupe de déploiement.
  • Cliquez sur Create Deployment.
  • Sélectionnez GitHub comme type de dépôt.
  • Connectez-vous à GitHub et autorisez AWS.
  • Choisissez votre dépôt et la branche de commits (par exemple, main).
  • Cliquez sur Deploy.

Étape 6 : Automatiser avec CI/CD en Utilisant GitHub Actions

Créez .github/workflows/deploy.yml dans votre dépôt :

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 }}

Configurez les identifiants AWS comme secrets GitHub :

  • Allez dans GitHub → Settings → Secrets and variables → Actions → New repository secret
  • Ajoutez votre AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY.

Maintenant, chaque push vers main déclenche des déploiements automatiques.


Étape 7 : Vérifier votre Déploiement

Visitez l'IP publique de votre EC2 dans un navigateur web :

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

Vous devriez voir votre application déployée avec succès !


Conclusion

Félicitations ! Vous avez configuré avec succès un pipeline CI/CD AWS CodeDeploy intégré avec GitHub pour déployer automatiquement des applications sur EC2. Cette automatisation optimisera considérablement votre processus de déploiement, réduira les temps d'arrêt et simplifiera les mises à jour.

Publicité
Coffee cup

Vous avez apprécié cet article ?

Votre soutien m'aide à créer davantage de contenu technique approfondi, d'outils open source et de ressources gratuites pour la communauté des développeurs.

Sujets connexes

Engr Mejba Ahmed

À propos de l'auteur

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

6  x  4  =  ?

Continuer l'apprentissage

Articles connexes

Tout parcourir

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