Skip to main content
📝 Cloud & DevOps (AWS)

AWS CodeDeploy: Eine CI/CD-Pipeline für die Bereitstellung auf EC2 über GitHub einrichten

AWS CodeDeploy: Eine CI/CD-Pipeline für die Bereitstellung auf EC2 über GitHub einrichten Manuelle Deployments sind mühsam, fehleranfällig und ineffiz...

3 min

Lesezeit

564

Wörter

Mar 23, 2025

Veröffentlicht

Engr Mejba Ahmed

Geschrieben von

Engr Mejba Ahmed

Artikel teilen

AWS CodeDeploy: Eine CI/CD-Pipeline für die Bereitstellung auf EC2 über GitHub einrichten

AWS CodeDeploy: Eine CI/CD-Pipeline für die Bereitstellung auf EC2 über GitHub einrichten

Manuelle Deployments sind mühsam, fehleranfällig und ineffizient. AWS CodeDeploy macht die Automatisierung von Deployments unkompliziert, steigert die Effizienz und minimiert Ausfallzeiten. In dieser Anleitung lernen Sie Schritt für Schritt, wie Sie eine robuste CI/CD-Pipeline einrichten, um Ihre Anwendungen direkt aus GitHub auf einer Amazon EC2-Instanz bereitzustellen.

Was Sie benötigen:

  • AWS-Konto
  • EC2-Instanz mit Amazon Linux
  • GitHub-Repository mit Ihrer Anwendung
  • AWS CLI auf Ihrem lokalen Rechner installiert

Schritt 1: Ihre EC2-Instanz vorbereiten

Verbinden Sie sich über SSH mit Ihrer EC2-Instanz:

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

Installieren und starten Sie den CodeDeploy-Agent:

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

Ersetzen Sie region durch Ihre AWS-Region, z. B. us-east-1.


Schritt 2: Eine IAM-Rolle für CodeDeploy erstellen

In der AWS-Konsole:

  • Navigieren Sie zu IAM → RollenRolle erstellen.
  • Wählen Sie AWS-Service und dann CodeDeploy.
  • Richtlinie anhängen: Wählen Sie AWSCodeDeployRole.
  • Benennen Sie Ihre Rolle (z. B. CodeDeployRole) und erstellen Sie sie.

Schritt 3: Die CodeDeploy-Anwendung einrichten

  • Gehen Sie zu AWS CodeDeploy → Anwendungen → Anwendung erstellen.
  • Geben Sie einen Anwendungsnamen ein.
  • Wählen Sie die Compute-Plattform: EC2/On-premises.

Erstellen Sie eine Bereitstellungsgruppe:

  • Name der Bereitstellungsgruppe (z. B. Production)
  • Wählen Sie Ihre IAM-Rolle (CodeDeployRole)
  • Wählen Sie EC2-Instanzen per Tag oder manuell
  • Bereitstellungstyp: In-place

Schritt 4: Ihr GitHub-Repository vorbereiten

Erstellen Sie eine appspec.yml-Datei im Stammverzeichnis Ihres Repositories:

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

Erstellen Sie die notwendigen Skripte, z. B. scripts/install_dependencies.sh:

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

Stellen Sie sicher, dass Ihre Skripte ausführbar sind:

chmod +x scripts/*.sh

Committen und pushen Sie die Änderungen zu GitHub:

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

Schritt 5: AWS CodeDeploy mit GitHub verbinden

  • Wählen Sie in der CodeDeploy-Konsole Ihre Anwendung und Bereitstellungsgruppe.
  • Klicken Sie auf Bereitstellung erstellen.
  • Wählen Sie GitHub als Repository-Typ.
  • Verbinden Sie sich mit GitHub und autorisieren Sie AWS.
  • Wählen Sie Ihr Repository und den Commit-Branch (z. B. main).
  • Klicken Sie auf Bereitstellen.

Schritt 6: CI/CD mit GitHub Actions automatisieren

Erstellen Sie .github/workflows/deploy.yml in Ihrem Repository:

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

Hinterlegen Sie AWS-Zugangsdaten als GitHub-Secrets:

  • Gehen Sie zu GitHub → Einstellungen → Secrets und Variablen → Aktionen → Neues Repository-Secret
  • Fügen Sie AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY hinzu.

Nun löst jeder Push zu main automatisch ein Deployment aus.


Schritt 7: Ihr Deployment verifizieren

Rufen Sie die öffentliche IP Ihrer EC2-Instanz im Browser auf:

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

Sie sollten Ihre erfolgreich bereitgestellte Anwendung sehen.


Fazit

Herzlichen Glückwunsch! Sie haben erfolgreich eine AWS CodeDeploy CI/CD-Pipeline eingerichtet, die mit GitHub integriert ist und Anwendungen automatisch auf EC2 bereitstellt. Diese Automatisierung optimiert Ihren Deployment-Prozess erheblich, reduziert Ausfallzeiten und vereinfacht Updates.

Coffee cup

Hat Ihnen dieser Artikel gefallen?

Ihre Unterstützung hilft mir, mehr tiefgehende technische Inhalte, Open-Source-Tools und kostenlose Ressourcen für die Entwickler-Community zu erstellen.

Verwandte Themen

Engr Mejba Ahmed

Über den 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

9  x  5  =  ?

Weiter lernen

Verwandte Artikel

Alle anzeigen

Comments

Leave a Comment

Comments are moderated before appearing.