RSS

Vibe Deploying: Wie Claude Code meine 8-jährige Angular-App auf Deploio gebracht hat

Vibe Deploying: Wie Claude Code meine 8-jährige Angular-App auf Deploio gebracht hat

Ihr kennt das: Da ist dieser Server, den man schon längst mal updaten sollte. Aber da läuft noch diese eine App drauf, die vermutlich nicht ohne Anpassungen auf dem neuen Server funktioniert. Also lässt man es. Wieder und wieder.

Bei mir war es eine Angular 4 App – das Frontend meiner privaten Buchhaltungsanwendung. Selbst programmiert, im Jahr 2017. Ja, damals gab es noch keine KI, die das für einen macht. Seither läuft sie wunderbar und tut genau das, was sie soll.

Die gescheiterten Versuche

Seit wir 2023 Deploio als Produkt herausgegeben haben, wollte ich die App eigentlich migrieren. Ein paar Anläufe hatte ich genommen. Ich muss zugeben: Viel Zeit hatte ich nicht investiert. Ein bisschen googeln nach Fehlermeldungen, copy-paste von Fehler in ChatGPT, etc. Das typische “kurz mal probieren”. Hat nicht funktioniert. Die App wollte nicht kompilieren, irgendwelche Dependencies waren veraltet, TypeScript meckerte. Aus Erfahrung wusste ich: Das wird ein Rattenschwanz.

Der Durchbruch mit Claude Code

Nach den grossartigen Erfahrungen mit Claude Code – sei es bei einem Connector für Odoo 19 (wir migrieren bald von Odoo14 auf Odoo19) oder bei der Migration unserer Website von WordPress zu Hugo – dachte ich mir: Warum nicht einfach Claude mal schauen lassen?

Das Besondere an Claude Code ist, dass er nicht nur Code generiert, sondern direkt in der Konsole läuft und Tools bedienen kann. Er sieht die Fehlermeldungen, wenn die App nicht kompiliert. Er versteht den Kontext. Und er fixt die Fehler selbstständig – iterativ, bis es funktioniert.

Die Geheimzutat: nctl

Noch spannender wird es mit unserem CLI-Tool nctl . Damit kann Claude Code direkt mit Deploio interagieren: Apps anlegen, Logs anschauen, Deployments überwachen. Das ist der eigentliche Game-Changer.

Ich habe Claude erlaubt, Logs anzuschauen:

nctl logs app anbeda -l 500

Und ich habe ihm erlaubt, zu committen und zu pushen. Der Code liegt auf GitHub, und Deploio holt sich den Code direkt von dort – bei jedem Push wird automatisch neu deployed.

4-5 Iterationen – dann lief es

Die Migration lief dann fast von selbst:

  1. Claude analysiert den alten Code und die veralteten Dependencies
  2. Erstellt ein Procfile für das Buildpack
  3. Pushed die Änderungen
  4. Deploio baut und deployed
  5. Claude schaut in die Logs, sieht den Fehler
  6. Fixt den Fehler, pushed wieder
  7. Repeat

Nach 4-5 Iterationen: Die App läuft (siehe Screenshot). Auf Deploio. Mit aktuellem Node.js. Ohne dass ich mich durch hunderte Deprecation Warnings kämpfen musste!

Bonus: Staging-Umgebung in Sekunden

Da man mit nctl auch neue Apps anlegen kann, habe ich mir von Claude gleich noch eine Staging-Umgebung einrichten lassen:

nctl create app anbeda-dev \
  --git-url https://github.com/thomhug/anbeda-frontend \
  --git-revision dev

Die Staging-App holt sich einfach den dev-Branch statt main. Das hätte ich natürlich auch schnell von Hand machen können – aber wenn Claude gerade dabei ist, warum nicht?

Das Fazit: Vibe Deploying

Was ist “Vibe Deploying”? Es ist wie Vibe Coding, nur für die Infrastruktur. Man gibt der KI Zugriff auf die richtigen Tools, beschreibt das Ziel, und lässt sie iterieren. Fehler werden erkannt und behoben, ohne dass man selbst jede Zeile debuggen muss.

Natürlich muss man aufpassen, was man der KI erlaubt. Aber für solche Migrations-Projekte – bei denen eine alte App auf eine neue Plattform soll – ist das ein enormer Produktivitätsgewinn. Ansonsten kann man auch jeden Befehl einzeln bestätigen und muss keine Angst haben, dass aufgrund von KI-Halluzinationen plötzlich Chaos herrscht auf der Infrastruktur!

Mein Server kann jetzt endlich aktualisiert werden. Die App läuft auf Deploio. Und ich habe dabei fast nichts gemacht ausser zuzuschauen.

Habt ihr auch alte Apps, die ihr schon längst migrieren wolltet? Probiert es aus – mit Deploio , nctl und einem KI-Assistenten eurer Wahl.

Möchtest du auf dem Laufenden bleiben?

Abonniere unseren YouTube-Kanal und besuche den Blog unserer Website.