Ich baue Github Actions CI/CD, automatisiere Deploys auf AWS EC2, Github Actions Docker GitLab
Full-Stack-Entwickler: Supabase, Docker, GitHub
Über diesen Service
Deine Releases gehen händisch von einem Laptop aus raus, und ein einziger falscher Push kann Production lahmlegen. Ich richte eine GitHub Actions CI/CD-Pipeline ein, damit ein Merge in main automatisch baut, testet und deployed, und niemand jemanden bitten muss, zu pushen.
Der Fehler liegt darin, dass die Release-Schritte nur im Kopf einer Person stecken. Ich packe sie in einen Workflow, der neben deinem Code sitzt.
Du bekommst:
- Linting und Tests bei jedem Pull Request
- Docker-Image beim Merge gebaut, mit klarer Versionskennung in Amazon ECR gepusht
- Der main geht automatisch live auf dem Staging (ECS-Service oder EC2)
- Production wartet auf einen manuellen Freigabe-Klick
- Secrets außerhalb des Codebases in Actions Secrets oder Systems Manager
- AWS-Zugriff über eine Least-Privilege IAM-Rolle, ohne lange Schlüssel irgendwo gespeichert
- eine README: wie es funktioniert und wie man einen Service hinzufügt
Prozess: Ich lese deine Dockerfile und Scripte, baue den Workflow in einem Branch, führe eine echte Release auf Staging durch, während du zuschaust, und übergebe es dann.
Ich brauche: Repository-Zugriff, eine IAM-Rolle oder einen User für ECR und ECS, deine Test- und Lint-Befehle und wer Releases freigibt.
Schreibe mir vor der Bestellung, damit ich Stack und Umfang bestätigen kann.
Tools:
Docker
•
GitLab
•
GitHub
Frameworks:
Npm
Cloud-Provider:
Amazon Web Services
•
microsoft azure
Programmiersprache:
Bash
•
JavaScript
•
PHP
•
Python
Expertise:
Installation
•
Entwicklung
•
Konfiguration
FAQ
Automatische Übersetzung
Welchen Zugang brauchst du und ist das sicher?
Repo-Zugriff und eine IAM-Rolle mit Zugriff nur auf ECR und ECS. Die Pipeline meldet sich mit dieser Rolle an, damit keine langlebigen AWS-Schlüssel in GitHub liegen. Du stornierst beides, wenn ich fertig bin. Ich brauche nie dein Root-Konto oder deine App-Daten nicht.
Schreibst du meine Tests?
Nein. Ich integriere deine bestehenden Lint- und Test-Befehle in die Pipeline. Wenn du keine hast, baut und deployed die Pipeline trotzdem, und ich lasse einen klaren Slot, in dem Tests später eingebunden werden. Tests schreiben gehört nicht zu diesem Gig.
Baust du meine AWS-Infrastruktur?
Nein. Dein ECS-Service oder EC2-Server, plus Staging und Production, müssen bereits existieren. Ich verbinde GitHub damit. Falls die AWS-Seite noch gebaut werden muss, sag mir Bescheid und ich erstelle dir dafür separat ein Angebot.
Welche Stacks und Tools deckst du ab?
Node.js- und Next.js-Apps mit Dockerfile, deployment auf ECS oder EC2 in AWS aus GitHub Actions. Jenkins, GitLab CI, Kubernetes und EKS gehören nicht zu diesem Gig. Sag mir, falls dein Stack anders ist, dann sag ich dir Bescheid.
Wie lange dauert es?
Staging Auto Deploy dauert 3 Tage, Safe Production Release 5 Tage, Full Team Handover 7 Tage. Die Zeit beginnt, sobald ich Repo- und AWS-Zugriff habe, also schick beides früh. Langsame Zugriffe deiner Seite verschieben den Termin.
Was passiert, wenn eine Release schiefgeht?
Rollback ist ein Klick in GitHub. Es deployed den vorherigen Image-Tag erneut, du bist innerhalb weniger Minuten wieder bei der letzten funktionierenden Version. Ich lasse es einmal bei der Übergabe laufen, damit du es an deinem eigenen Service siehst.
Wer darf Production freigeben?
Du nennst die GitHub-Benutzer. Nur sie können freigeben, damit ein versehtes Merge nie in Production landet. Manche GitHub-Pläne beschränken dieses Feature in privaten Repos, deshalb prüfe ich deinen Plan, bevor ich mit der Arbeit beginne.
Kann mein Team danach ohne mich releasen?
Ja. Wer Merge-Rechte hat, deployed auf Staging durch Merge. Deine benannten Freigabe-Berechtigten releasen Production mit einem Klick. Die README erklärt, wie es funktioniert und wie man später einen neuen Service in dieselbe Pipeline integriert.
Was passiert, wenn ich nach der Lieferung Änderungen benötige?
Überarbeitungen decken Fehler ab, die ich behoben habe; alles, was sich nicht wie beschrieben verhält, wird korrigiert. Ein neuer Service, eine neue Umgebung oder eine andere Cloud bedeutet neuen Scope. Füge den zweiten Service hinzu oder schreib mir.
Warum schickst du vor der Bestellung eine Nachricht?
So kann ich dein Dockerfile lesen und bestätigen, dass ECS oder EC2 passt, bevor du bezahlst. Das vermeidet, dass du ein Tier kaufst, das nicht zu deiner Anlage passt, und ich sage dir vorab, falls dein Code zuerst geändert werden muss, nicht erst danach.

