Zum Hauptinhalt springen

Deployment von mit KI entwickelten Apps

Einführung / Motivation

Mit rasant voranschreitenden KI-getriebenen Entwicklungswerkzeugen ist die Erstellung von Anwendungen zugänglicher als je zuvor. Wir möchten es so einfach wie möglich machen, die von dir erstellten Apps — ob schnell prototypisiert oder durchdacht entwickelt — selbstbewusst in die Welt zu bringen und dort zu teilen.

Neben schnellem Prototyping und Entwicklung möchten wir es Nutzern ermöglichen, ihre mit KI entwickelten Apps einfach mit anderen zu teilen und in Produktionsumgebungen bereitzustellen, ohne sich mit komplexen Bereitstellungsprozessen oder Konfigurationen auseinandersetzen zu müssen.

Ob du eine kleine geschäftliche App oder eine komplexere Anwendung mit KI-getriebener Entwicklung erstellst — dieser Guide hilft dir, deine App von deinem lokalen Rechner (oder einer Cloud-basierten IDE) mit minimalem Aufwand in die Welt zu bringen.

Eine App bereitzustellen ist spannend — und es lohnt sich, das durchdacht zu tun. Compliance, Datenschutz, Sicherheit und operative Verantwortung sind wichtig. Wir empfehlen dir, dich an unsere Community zu wenden, wenn du Fragen hast.

Überblick über die mit KI entwickelte App-Landschaft

Apps, die durch KI-getriebene Entwicklung entstehen, sind leicht zu erstellen, und es gibt eine Vielzahl von Bereitstellungsoptionen.

Verschiedene Plattformen bieten unterschiedliche Vorteile und Nachteile. Anbieter wie Replit und Lovable priorisieren Entwicklungsgeschwindigkeit und Benutzerfreundlichkeit mit ihren speziellen Projektvorlagen, Buildsystemen und Bereitstellungspipelines. Dieser Komfort geht mit einem Nachteil einher: Eine spätere Migration auf eine andere Plattform kann Nacharbeit erfordern. Andererseits erhältst du einen schnellen Weg in die Produktion mit integrierten Werkzeugen und Support.

Plattformen wie GitHub und mittwald bieten dagegen flexiblere und standardisierte Bereitstellungsoptionen, die leicht an verschiedene Umgebungen angepasst werden können.

Durch die Verwendung von GitHub als zentrales Repository für deine mit KI entwickelte App kannst du eine klare Historie von Änderungen bewahren, mit anderen zusammenarbeiten und in verschiedene Plattformen bereitstellen, ohne an ein spezifisches Vendor-Ökosystem gebunden zu sein.

Dieser Ansatz bietet dir größere Freiheit und Kontrolle über die Bereitstellung deiner App, während du weiterhin von der Leichtigkeit und Geschwindigkeit der KI-getriebenen Entwicklung profitierst.

GitHub ist unser Anker

Wenn wir nach GitHub exportieren können, haben wir gute Chancen, überall zu deployen.

Die meisten Plattformen unterstützen GitHub als Quelle für die Bereitstellung. Ein gut strukturiertes GitHub-Repository ermöglicht bessere Zusammenarbeit, Versionskontrolle und Integration mit verschiedenen Bereitstellungstools und -diensten. Falls GitHub nicht die bevorzugte Git-Plattform ist, gelten die gleichen Prinzipien für jeden anderen Git-Hosting-Dienst mit ähnlichen Funktionen.

Mit dem Moment, in dem wir unsere mit KI entwickelte App nach GitHub exportieren können, erschließen sich vielfältige Bereitstellungsoptionen, darunter Continuous Integration und Continuous Deployment (CI/CD) Pipelines und Containerisierung.

Viele Tools bieten bidirektionale Synchronisierung mit GitHub. Das bedeutet, dass Änderungen im GitHub-Repository automatisch in der Bereitstellungsumgebung sichtbar werden und umgekehrt. Dies ermöglicht einen nahtloseren Entwicklungs- und Bereitstellungsprozess, denn Entwickler können an ihrem Code in GitHub arbeiten und profitieren gleichzeitig von einer live-Bereitstellungsumgebung.

Prinzipien und Grenzen von Zero-Conf-Deployments

Da die meisten Plattformen mit benutzerdefinierten Pipelines und Konfigurationen bereitstellen, müssen wir einen gemeinsamen Nenner für Zero-Conf-Deployment definieren. In diesem Kontext bedeutet Zero-Conf-Deployment, dass wir den exportierten Code von GitHub nehmen und ihn auf einer Plattform bereitstellen können, ohne manuelle Änderungen oder Konfigurationen vornehmen zu müssen.

Mit anderen Worten: Du solltest deine mit KI entwickelte App mit minimalem Setup bereitstellen können, idealerweise nur durch das Verbinden deines GitHub-Repositorys mit einer Bereitstellungsplattform, die Zero-Conf-Deployment unterstützt.

Unglücklicherweise unterstützen nicht alle Plattformen Zero-Conf-Deployment, und selbst die, die es tun, können Einschränkungen oder Kompromisse haben. Beispielsweise können einige Plattformen spezifische Dateistrukturen, Konfigurationsdateien oder Build-Prozesse erfordern, die nicht damit kompatibel sind, wie mit KI entwickelte Apps exportiert werden.

Mit anderen Worten: Während Zero-Conf-Deployment ein ideales Ziel ist, ist es in der Praxis nicht immer erreichbar, und du musst möglicherweise manuelle Anpassungen oder Konfigurationen vornehmen.

Tipps und Tricks auf dem Weg zu Zero-Conf-Deployment

Während der Entwicklung können wir bestimmte Praktiken befolgen, um die Chancen auf Zero-Conf-Deployment zu verbessern.

Halte den Stack klein: Je mehr Abhängigkeiten und Services deine App benötigt, desto komplexer wird der Bereitstellungsprozess.

Nutze Standard-Tools und -Konfigurationen: Das Befolgen von weit verbreiteten Tools und Konfigurationen kann die Kompatibilität mit verschiedenen Bereitstellungsplattformen erhöhen.

Dokumentiere die Anforderungen und Abhängigkeiten deiner App klar: Dies kann anderen helfen zu verstehen, was für eine erfolgreiche Bereitstellung der App erforderlich ist, und kann auch bei der Fehlerbehebung helfen.

Überprüfe bewährte Verfahren für Sicherheit und Datenschutz: Eine App, die Sicherheits- und Datenschutzrichtlinien befolgt, kann Probleme bei der Bereitstellung und im laufenden Betrieb verhindern. Vermeide hartcodierte Secrets, verwende Umgebungsvariablen, und überprüfe deine Abhängigkeiten regelmäßig auf Sicherheitslücken.

Bereitstellungs-Checkliste:

  • App läuft lokal ohne Fehler
  • Alle Secrets/Keys sind nicht in deinem Code!
  • README erklärt Setup & Verwendung
  • Build-/Export-Skripte funktionieren
  • App in einem Browser/Incognito-Fenster getestet
  • Backups: Speichere eine Kopie deines Projekts!
  • Wähle einen zuverlässigen Host, der deine Anforderungen erfüllt
  • Teile den Link mit einem Freund — hole Feedback ein
  • Feiere dein erstes Deployment! 🎉

Zero-Conf-Deployment bei mittwald

mittwald bietet eine Zero-Conf-Deployment-Option für mit KI entwickelte Apps, die es dir ermöglicht, deine Apps direkt von GitHub mit minimalem Setup bereitzustellen.

Gegenwärtig gibt es zwei Hauptwege für das Zero-Conf-Deployment von mit KI entwickelten Apps:

Der empfohlene Ansatz ist, mit der manuellen CLI-Bereitstellung zu beginnen, um den Prozess zu verstehen, und dann zur Automatisierung mit GitHub Actions für einen strafferen und effizienter Bereitstellungs-Workflow überzugehen.

Eine separate Erweiterung für mStudio ist in Entwicklung, die den Bereitstellungsprozess durch eine integrierte Erfahrung in der Entwicklungsumgebung weiter vereinfacht.

Schnellstart-Anleitung zum Zero-Conf-Deployment von mit KI entwickelten Apps

Voraussetzungen:

  • Eine mit KI entwickelte App mit einem GitHub-Repository
  • Ein mittwald-Hosting-Konto mit aktivierten Container-Hosting-Funktionen
  • Grundlegendes Verständnis von Git und GitHub
  • mittwald-CLI installiert und konfiguriert
  • mittwald Skills installiert und für deinen Code-Agenten aktiviert (optional, aber empfohlen für Fehlerbehebung und Unterstützung während der Bereitstellung)

Manuell durchzuführende Schritte:

  1. Bereite deine mit KI entwickelte App für die Bereitstellung vor: Vergewissere dich, dass sie lokal läuft und dass alle Abhängigkeiten installiert sind.

    user@local $ git clone https://github.com/<your-org>/<your-repo>.git
    user@local $ cd <your-repo>

Die konkreten Befehle zum lokalen Ausführen deiner App hängen vom spezifischen Setup deiner App ab. Häufige Informationsquellen dafür sind die README-Datei in deinem Repository, der package.json Scripts-Bereich oder jegliche Dokumentation der KI-Entwicklungsplattform, die du verwendet hast. Zusätzlich können Code-Agenten dabei helfen, die korrekten Befehle zum lokalen Ausführen deiner App zu identifizieren, indem sie die Projektstruktur und Konfigurationsdateien analysieren.

  1. Stelle sicher, dass dein lokales Repository mit GitHub synchron ist und dass deine Änderungen committed und gepusht sind.

    user@local $ git pull
    user@local $ git status
  2. Verwende in deinem App-Ordner die mittwald-CLI, um ein Projekt zu erstellen und das Bereitstellungskommando auszuführen.

    user@local $ mw project create --description=<project-name> --update-context
    user@local $ mw experimental deploy

Die erste Bereitstellung dauert einige Minuten, während die App gebaut und die Hosting-Umgebung eingerichtet wird. Sobald die Bereitstellung abgeschlossen ist, kannst du deine App über die bereitgestellte URL aufrufen.

Teste deine App in einem Browser, das Deployment-Kommando erstellt eine Subdomain und verlinkt zum Container-Ziel. Falls du Probleme hast, überprüfe die Logs und Konfiguration zur Fehlerbehebung. Logs findest du im Container-Bereich in mStudio oder über die CLI mit Container-ID:

user@local $ mw container logs c-XXXXXX

Weiterführende Guides für tiefergehendes Setup:

Deployment von Replit zu mittwald

Replits Git-Integration exportiert Apps als Monorepo mit mehreren npm-Workspaces. Das bedeutet: Wenn du deine App nach GitHub exportierst, kannst du sie mit ein paar Anpassungen auch bei mittwald deployen. Wichtig ist vor allem, den richtigen Workspace für Build und Ausführung auszuwählen.

Um die Standard-Build- und Start-Kommandos von Replit zu überschreiben, kannst du beim Build folgende Variablen setzen, zum Beispiel um im Beispiel-Monorepo den Workspace hello-world zu verwenden. Aus einer GitHub-Action-Workflow-Datei:

- name: Deploy to Mittwald Container Hosting
uses: mittwald/zerodeploy-action@master
env:
RAILPACK_BUILD_CMD: 'pnpm --filter @workspace/hello-world run build'
RAILPACK_INSTALL_CMD: 'pnpm --filter @workspace/hello-world install'
RAILPACK_START_CMD: 'pnpm --filter @workspace/hello-world run serve'

Replit-Dokumentation zur Git-Schnittstelle

Deployment von Lovable zu mittwald

Mit Lovable erstellte Apps lassen sich als Standard-Node.js-Projekt nach GitHub exportieren. Damit eine solche App auf mittwald Hosting deploybar ist, muss die exportierte App eine gültige package.json mit den nötigen Build- und Start-Skripten enthalten.

Zusätzlich können Lovable-Apps beim Deployment wegen nicht aufgelöster Abhängigkeiten oder fehlender Konfigurationsdateien fehlschlagen. Um diese Probleme zu lösen, kann es hilfreich sein, zusätzliche Paketmanager wie bun zu entfernen und für eine bessere Kompatibilität bei npm oder pnpm zu bleiben:

user@local $ rm bun.lock

Weiterführende Informationen zu den zugrunde liegenden Heuristiken zur Paketmanager-Erkennung und zu Konfigurationsoptionen findest du in der Railpack-Dokumentation.

Auf zum Erfolg: Best Practices

Während du dich auf die Bereitstellung vorbereitest, berücksichtige diese Praktiken, die Apps zum Erfolg bringen:

  • Sicherheit und Datenschutz sind wichtig. Entferne hartcodierte Secrets, verwende Umgebungsvariablen und halte Abhängigkeiten aktuell. Diese Praktiken sind unkompliziert und machen deine App zuverlässiger. Sowohl das CLI-Kommando als auch die GitHub Action unterstützen Umgebungsvariablen, sodass du Secrets aus deinem Code halten und sicher verwalten kannst.
  • Teste früh. Stelle lokal bereit, teile mit Freunden und hole dir Feedback ein, bevor du live gehst.
  • Community ist hier. Unser mittwald Discord-Server ist ein großartiger Ort, um Fragen zu stellen, deine Projekte zu teilen, und von anderen Entwicklern zu lernen.
  • Eine Größe passt nicht für alle. Zero-Conf-Deployment funktioniert großartig für viele mit KI entwickelte Apps. Falls deine App spezifische Anforderungen hat — komplexe Datenbanken, benutzerdefinierte Infrastruktur oder Compliance-Anforderungen — das ist kein Problem. Plane entsprechend und zögere nicht, uns um Orientierung zu bitten.

Du hast etwas Cooles gebaut. Starte es, lerne daraus und iteriere weiter.