Neckrez

Wegwerf-CI-Runner und Staging-Server, stundenweise abgerechnet

Starten Sie einen Build-Runner oder einen Staging-Server pro Pull Request direkt aus der Pipeline, nutzen und löschen Sie ihn. Stündliche Abrechnung von einem vorausbezahlten Krypto-Guthaben, REST-API und CLI.

Kurz gesagt

Eine CI-Maschine, die die ganze Nacht auf Commits wartet, ist ein Server, den Sie bezahlen und nicht nutzen. Wenn sich ein Server per API-Aufruf anlegen und löschen lässt und stündlich abgerechnet wird, kann eine Pipeline einen Runner starten, wenn Arbeit da ist, und ihn danach entfernen, und ein Pull Request bekommt einen eigenen Staging-Server, solange er offen ist.

Neckrez bringt dafür mit: eine REST-API mit widerrufbaren Schlüsseln, einen Kommandozeilen-Client, Massen-Deploy, Cloud-Init beim Anlegen und stündliche Abrechnung von einem vorausbezahlten Guthaben, bezahlt mit Krypto ohne Identitätsprüfung. Eine fertige CI-Integration liefern wir nicht. Sie rufen API oder CLI aus Ihrer eigenen Pipeline auf, und diese Seite zeigt, wie man das sinnvoll macht.

Das Leben eines Runners

  • Anlegen. Die Pipeline startet einen Server und gibt ihm eine Cloud-Init-Datei, die Ihren Runner installiert und registriert. Am besten passen Runner, die einen Job annehmen und sich danach abmelden (GitHub Actions, GitLab CI und Drone können das).
  • Laufen. Der Job läuft auf einer sauberen Maschine, vom letzten Build bleibt nichts übrig.
  • Löschen. Ein letzter Schritt entfernt den Server, und die Abrechnung endet sofort.
# in the pipeline: create a runner, run the job on it, always delete it
neckrez deploy "ci-$RUN_ID" --plan photon --location AMS --cloud-init runner-init.yml --wait --json > server.json

# ... the job runs on that machine ...

neckrez rm "ci-$RUN_ID" --yes      # put this in a step that runs even when the job fails

Ein Deploy dauert etwa eine Minute, so lange wartet der Job. Wenn das stört, halten Sie einige Runner warm und starten den Rest bei Bedarf. Die vollständige Referenz der Endpunkte steht in der API-Dokumentation und in /llms.txt.

Was eine Stunde wirklich kostet

Abgerechnet wird in ganzen Stunden. Die erste Stunde wird beim Anlegen des Servers berechnet, und ein Server, der nach zehn Minuten gelöscht wird, kostet trotzdem diese Stunde. Die Ersparnis kommt also nicht von einem Build, der Sekunden dauert, sondern davon, dass Sie die übrigen zwanzig Stunden des Tages nicht bezahlen.

  • Jobs auf einem Runner bündeln. Lassen Sie einen Runner innerhalb seiner Stunde mehrere Jobs übernehmen und löschen Sie ihn dann, statt pro Job einen Server zu nehmen.
  • Passend dimensionieren. Der kleinste Tarif kostet etwa eineinhalb Cent pro Stunde. Ein Vier-Kern-Tarif liegt ebenfalls unter zehn Cent. Die aktuellen Preise stehen in der Tabelle unten.
  • Nachts auf null skalieren. Ist nichts in der Warteschlange, läuft nichts und wird nichts berechnet.

Ein Staging-Server pro Pull Request

Ein günstiger Server pro Pull Request ist ein besseres Review als Screenshots: Beim Öffnen des PR anlegen, docker compose up und die End-to-End-Tests ausführen, die Vorschau-Adresse posten und beim Merge oder Schließen löschen. Die Docker-App mit einem Klick erspart die eigene Docker-Installation. Der Server hat eine eigene dedizierte IPv4, die Vorschau-Adresse ist also eine einfache IP mit Port, solange Sie kein eigenes DNS davor setzen.

Leitplanken für eine Pipeline, die Geld ausgibt

  • Das Guthaben ist die Grenze. Ohne Guthaben gibt es keinen Deploy, und es gibt keine Rechnung am Monatsende. Die Grenze gilt pro Konto, geben Sie CI daher ein eigenes Konto mit kleinem Guthaben.
  • Ein Schlüssel pro Pipeline, auf Wunsch mit Ablaufdatum. Ein durchgesickerter Schlüssel ist mit einem Widerruf unschädlich.
  • Immer aufräumen. Legen Sie das Löschen in einen Schritt, der auch bei einem fehlgeschlagenen Job läuft, und ergänzen Sie einen Aufräum-Job, der Server mit neckrez ls --json auflistet und alle mit Ihrem Präfix löscht, die älter als einige Stunden sind.
  • Das Rate-Limit beachten. Die API erlaubt 60 Anfragen pro Minute und Schlüssel. Fragen Sie etwa alle 5 Sekunden ab, nicht in einer engen Schleife.
  • Ein leeres Guthaben macht sich bemerkbar. Ein Server, den das Guthaben nicht mehr decken kann, wird archiviert: Die Platte wird als Snapshot gesichert, der Server gelöscht und der Snapshot 7 Tage aufbewahrt.

Wann eine feste Flotte besser ist

Kurze Wegwerf-Runner passen zu stoßweiser Arbeit. Bei gleichmäßigen, schweren Builds, bei denen das Timing zählt (montags schnell, freitags langsam), reserviert ein Dedicated-CPU-Server die Kerne für Sie. Ein langlebiger Runner kann auch ein normaler Dauerbetriebs-Server sein, wie bei VPS für Bots. Bare Metal ist dafür ungeeignet: Die Installation dauert 10 bis 30 Minuten.

So fangen Sie an

  • 1. Mit einer E-Mail registrieren, mit Krypto aufladen (Minimum 15 $) und einen API-Schlüssel erstellen.
  • 2. Einmal von Hand anlegen und löschen mit dem CLI, um Zeit und Kosten zu sehen.
  • 3. Das Cloud-Init schreiben, das Ihren Runner installiert und registriert.
  • 4. In die Pipeline einbauen, mit einem Lösch-Schritt, der immer läuft, und einem Aufräum-Job.

FAQ

Kann ich GitHub Actions, GitLab CI oder Drone nutzen? Auf einem Neckrez-Server läuft jedes CI, dessen Runner sich beim Start der Maschine selbst registrieren kann. Eine CI-Integration liefern wir nicht: Die Schritte zum Anlegen und Löschen schreiben Sie selbst mit der API oder dem CLI.

Wie wird abgerechnet? Stündlich von einem vorausbezahlten Guthaben. Die erste Stunde wird beim Anlegen berechnet, und ein früh gelöschter Server kostet diese Stunde trotzdem. Die aktuellen Preise stehen in der Tabelle auf dieser Seite.

Wie schnell ist ein Runner bereit? Ein VPS läuft meist nach etwa einer Minute. Dazu kommt die Zeit, die Ihr Cloud-Init für die Installation des Runners braucht.

Kann ich eine vorbereitete Platte zwischen Läufen behalten? Sie können einen Snapshot des Servers machen und ihn als neuen Server wiederherstellen, der eine neue IP bekommt. Snapshots bleiben 7 Tage erhalten. Ein fertiges Image länger aufzubewahren liegt bei Ihnen.

Gibt es ein Limit, wie viele Server eine Pipeline anlegen darf? Ein Standardlimit pro Konto gibt es nicht. Eine Massenanfrage legt bis zu 10 Server an, und die API erlaubt 60 Anfragen pro Minute und Schlüssel. Tatsächlich begrenzt das Guthaben die Ausgaben.

Was, wenn ein Job abstürzt und der Server bleibt? Er wird weiter berechnet, bis er gelöscht wird. Legen Sie das Löschen in einen Schritt, der immer läuft, und ergänzen Sie einen Aufräum-Job für Nachzügler. Dieselben Leitplanken stehen auf der Seite Server für KI-Agenten.

Kann ich ohne Karte und ohne Identitätsprüfung bezahlen? Ja. Sie registrieren sich mit einer E-Mail und bezahlen mit Bitcoin, USDT, ETH oder einer von über 300 Coins. Aufladungen sind endgültig, siehe die Erstattungs- und Abrechnungsbedingungen.