Eine Django-App mit Postgres und Redis dockerisieren
Devin schreibt ein Multi-Stage-Dockerfile und eine docker-compose.yml mit Django, PostgreSQL und Redis, baut anschließend den Stack und führt ihn aus, um zu prüfen, dass alles funktioniert.(Optional) Projektumfang mit Ask Devin festlegen
Wenn du dir nicht sicher bist, von welchen Services deine Django‑App abhängt oder wie das Projekt aufgebaut ist, nutze Ask Devin, um das zuerst zu analysieren:Du kannst auch direkt aus Ask Devin eine Devin-Session starten; dabei werden alle bisherigen Erkenntnisse als Kontext übernommen.
Stellen Sie Devin Ihr Django-Projekt und Ihre Requirements zur Verfügung
Weise Devin an, das Django-Projekt zu containerisieren, und erwähne alle Besonderheiten – etwa bevorzugte Basis-Images, Dienste, von denen die App abhängt, oder Einschränkungen bei der Image-Größe. Devin liest deine
requirements.txt oder pyproject.toml, um den Rest herauszufinden.Devin analysiert und entwickelt
Devin liest Ihr Django-Projekt und die Abhängigkeitsdateien, um den Build-Prozess zu verstehen, und erstellt dann die Docker-Konfiguration:
- Liest Abhängigkeitsdateien — Parst
requirements.txtoderpyproject.tomlund identifiziert Django, psycopg2, redis, celery und gunicorn - Schreibt das Dockerfile — Erstellt einen mehrstufigen Build, der Abhängigkeiten in einer Builder-Stage installiert und die virtuelle Umgebung in ein minimales
python:3.12-slim-Laufzeit-Image kopiert
- Erstellt docker-compose.yml — Fügt Django, PostgreSQL, Redis und einen Celery-Worker mit Healthchecks, Volumes und einem gemeinsamen Netzwerk hinzu
- Fügt .dockerignore hinzu — Schließt Dateien aus, die nicht in den Build-Kontext gehören (
__pycache__,.git,tests/,docs/,*.pyc) - Führt
docker compose up --buildaus — Baut das Image und startet alle Services im Devin-Terminal - Überprüft die App — Führt einen curl-Aufruf auf
/api/health/aus, um zu bestätigen, dass Django sauber startet, sich mit PostgreSQL verbindet und Redis erreicht
Steuern Sie die Sitzung mit Slash-Befehlen
Verwenden Sie während der Sitzung Slash-Befehle, um den Devin-Workflow zu steuern:
/plan— Bitten Sie Devin, seinen Ansatz zu skizzieren, bevor es eine Docker-Konfiguration schreibt. Überprüfen Sie den Plan und schlagen Sie Änderungen vor./test— Weisen Sie Devin an, den Container-Stack neu aufzubauen und erneut zu überprüfen. Verwenden Sie diesen Befehl nach jeder Änderung, um Probleme frühzeitig zu erkennen./review— Bitten Sie Devin, sein eigenes Dockerfile und die Docker-Compose-Konfiguration auf Sicherheitsprobleme, Imagegröße und Best Practices zu prüfen, bevor der PR erstellt wird.
Prüfen und iterieren
Sobald Devin den Pull Request (PR) eröffnet, überprüfe die generierten Dateien. Häufige Folgeaufgaben:
Überprüfen Sie den Pull Request mit Devin Review
Sobald Devin den PR eröffnet hat, verwenden Sie Devin Review, um die Docker-Konfiguration zu überprüfen. Devin Review kann Sicherheitsprobleme erkennen (Ausführung als root, offengelegte Geheimnisse), fehlende Best Practices identifizieren (keine
.dockerignore, keine Health Checks) sowie Inkonsistenzen mit Ihrer bestehenden Infrastruktur aufdecken.