PlattformRepositories & CI/CD

Repositories & CI/CD

Repositories verbinden und Pipelines auf den eQuantic Runnern ausführen.

Repositories verbinden

Verwenden Sie die GitHub App (empfohlen) für granulare, von der Organisation verwaltete Berechtigungen mit kurzlebigen Installations-Tokens. Azure DevOps wird jetzt unterstützt: Verbinden Sie eine Organisation mit einem Personal Access Token und wählen Sie die Repositories aus (org/project/repo) — die Webhooks (Service Hooks) werden automatisch eingerichtet. GitLab ist ebenfalls verfügbar: Verbinden Sie es mit einem Personal Access Token — gitlab.com oder Ihre eigene selbst gehostete Instanz — und wählen Sie die Projekte aus (auch aus tief verschachtelten Untergruppen); die Webhooks werden automatisch eingerichtet. Bitbucket ist ebenfalls ein vollwertiger Anbieter: Verbinden Sie einen Bitbucket-Workspace mit einem App-Passwort oder einem Atlassian-API-Token (zusammen mit der E-Mail-Adresse Ihres Kontos) und wählen Sie die Repositories aus (workspace/repo); die Webhooks werden automatisch eingerichtet. GitHub, GitLab, Bitbucket und Azure DevOps werden alle vollständig unterstützt.

app.equantic.space/repos/verbinden
Repository verbinden
123
equantic/space-frontend
equantic/space-backend
equantic/docs
1Installation in 3 Schritten
Repositories → Verbinden: Installieren Sie die GitHub App und wählen Sie die zu importierenden Repos aus.

Pipelines

Die Plattform interpretiert Ihre YAMLs von GitHub Actions, Azure Pipelines (azure-pipelines.yml), GitLab CI (.gitlab-ci.yml) und Bitbucket Pipelines (bitbucket-pipelines.yml) und führt die Jobs auf den eQuantic Runnern aus. Funktionen:

app.equantic.space/repos/space-frontend/runs/1042
Erfolgreich
Lint
Build
Test·e2e
Deploy
$ pnpm test:e2eRunning 36 tests…✓ 36 passed (1.0m)
1Job-Graph
2Live-Logs
Jede Ausführung zeigt den Job-Graph und die Live-Logs pro Step.
  • Job-Graph, abgeleitet aus den needs:-Abhängigkeiten, mit Matrix-Builds, die in parallele Nodes expandieren.
  • Echte Azure-Pipelines-Tasks für task:-Steps, aufgelöst aus Ihrer eigenen Organisation (Marketplace-Tasks eingeschlossen); reine PowerShell-Tasks und Service Connections werden noch nicht unterstützt.
  • Live-Logs pro Step, mit erneuter Ausführung von allem / nur Fehlern / einzelnem Job.
  • Visueller Step-Editor (Drag-and-Drop) und erweiterter Bearbeitungsmodus des YAML.
  • Manuelle Freigabe vor dem Produktions-Deployment (Quorum N-von-M) und geschützte Environments.
  • Konfigurierbarer Cache und Secrets/Variablen pro Repository, mit Referenzen auf Dienstvariablen.
Jede Ausführung läuft auf einem ephemeren, isolierten Runner; Secrets werden zur Ausführungszeit als Env-Variablen injiziert und in der Log-Pipeline maskiert.

Pull Requests

Bei einem verbundenen Repository (GitHub, GitLab, Bitbucket oder Azure DevOps) können Sie dessen Pull Requests wahlweise in eQuantic verwalten statt beim Anbieter — ein Opt-in pro Repository. Der Code bleibt immer beim Anbieter; eQuantic übernimmt niemals das Git-Hosting.

app.equantic.space/repos/space-frontend/pull-requests/428
PR #428Genehmigen
+ const canMerge = … return rs.approved- if (blocking)
blockierend
1Three-Dot-Diff
2Blockierender Kommentar
Review direkt auf dem Diff, den eQuantic selbst berechnet (Three-Dot): Threads an der exakten Zeile, blockierende Kommentare halten den Merge auf.
  • Opt-in im Tab Pull requests — aktivieren Sie die von eQuantic verwalteten PRs oder nutzen Sie weiterhin die PRs des Anbieters (Standard).
  • PR-Erstellung — wählen Sie Quell- → Ziel-Branch, Titel und Beschreibung; die PRs werden pro Repository durchnummeriert.
  • Liste mit Status — open / draft / merged / closed, filterbar.
  • Diff-Ansicht — eQuantic berechnet den Diff selbst (Three-Dot, gegen die Merge-Base, wie in den UIs der Anbieter) und speichert ihn: Die Detailseite zeigt eine Zusammenfassung (geänderte Dateien, +Hinzufügungen −Löschungen) und Unified-Hunks pro Datei mit exakten Zeilennummern. Binärdateien und sehr große Diffs werden markiert statt gerendert; neue Pushes auf den Quell-Branch aktualisieren den Diff automatisch über den Repository-Webhook.
  • Code-Review im Diff — kommentieren Sie jede beliebige Zeile im Diff: Threads werden an der exakten Zeile verankert, mit Antworten und Auflösen/Wiedereröffnen. Bei neuen Commits gehen bestehende Threads nie verloren — sie werden als veraltet markiert und pro Datei gruppiert.
  • Blockierende Kommentare — ein Review-Kommentar kann als blockierend markiert werden; nicht aufgelöste blockierende Kommentare werden am PR prominent hervorgehoben (Banner plus Indikator in der Liste), und nur ihr Autor kann sie auflösen.
  • Genehmigungen und Konversation — Reviewer genehmigen den PR oder fordern Änderungen an (ein aktives Votum pro Reviewer; der Autor kann den eigenen PR nicht selbst reviewen), mit Zählern für Genehmigungen/Änderungswünsche am PR und in der Liste — dazu ein allgemeiner Kommentar-Feed am PR, ergänzend zu den Zeilen-Threads.
  • Branch-Schutz — definieren Sie in den Repository-Einstellungen Regeln pro Branch-Muster (main, release/*): Mindestzahl an Genehmigungen, lineare Historie, ein gegenüber dem Ziel aktueller Branch, das Verwerfen veralteter Genehmigungen bei neuen Commits sowie ob nicht aufgelöste blockierende Kommentare ein Veto gegen den Merge einlegen — dazu die erlaubten Merge-Strategien und die Standardstrategie.
  • Merge in eQuantic — sind alle Bedingungen erfüllt (Genehmigungen, keine angeforderten Änderungen, keine nicht aufgelösten blockierenden Kommentare, Schutzregeln), lässt sich der PR per Merge-Commit, Squash oder Rebase mergen. eQuantic führt den Merge selbst aus und pusht das Ergebnis zum Anbieter — nie über die Merge-API des Anbieters, nie mit Force-Push. Solange der Merge blockiert ist, listet der PR genau auf, was fehlt; ein PR kann auch ohne Merge geschlossen werden.
  • Merge-Queue — statt direkt zu mergen, lässt sich ein PR in die Merge-Queue seines Ziel-Branches einreihen. Die Queue arbeitet die Einträge der Reihe nach ab: Jeder wird gegen den aktuellen Stand des Ziels getestet — ein zurückgefallener Branch muss also nicht manuell aktualisiert werden, und das Einreihen ist auch mit veraltetem Branch erlaubt — und erfüllt er zum Merge-Zeitpunkt weiterhin alle Bedingungen, führt eQuantic den Merge aus und pusht das Ergebnis. Ein Konflikt oder eine nicht erfüllte Bedingung entfernt den Eintrag samt Begründung aus der Queue, und der nächste rückt nach; wartende Einträge können die Queue verlassen, und das Queue-Panel im Tab Pull requests zeigt Positionen und Live-Status.
  • CI-Checks — Pipeline-Läufe auf den Commits des PRs melden ihren Status nativ am PR: ein Check pro Workflow und Commit — ausstehend, erfolgreich oder fehlgeschlagen — angezeigt im Merge-Panel. Eine Branch-Schutzregel kann zusätzlich Checks vorschreiben: Der PR wird nur gemergt, wenn jeder gemeldete Check bestanden hat — ein fehlgeschlagener oder noch laufender Check blockiert den Merge, ebenso das Fehlen jeglicher gemeldeter Checks (ein vorgeschriebener Check gilt niemals stillschweigend als bestanden). Dieselbe Anforderung gilt auch für Einträge, die über die Merge-Queue gemergt werden.
Der Anbieter bleibt der Git-Host — und dessen eigene Pull Requests funktionieren für Repositories ohne Opt-in unverändert weiter.

Preview-Umgebungen

Jeder offene Pull Request kann eine ephemere Preview-Umgebung bekommen — einen isolierten Dienst, gebaut aus dem PR-Branch, mit eigener URL (pr-N.preview.<deploy-domain>).

  • Konfiguration pro Repository im Tab Previews: der Auto-Preview-Schalter, der Ziel-Space und eine optionale Basis-Umgebung, deren Variablen in jede Preview geklont werden.
  • Automatischer Lebenszyklus — PR geöffnet → Umgebung wird provisioniert; neue Pushes → Redeploy; Merge/Schließen → Teardown. Die Karte zeigt den Live-Status (building → ready / failed), die URL, Branch/Commit und Autor.
  • Manueller Modus — der Tab listet offene PRs ohne Preview, Erstellung mit einem Klick; bestehende Previews können über das Kartenmenü neu gebaut oder zerstört werden.
  • Die Preview-URL wird als Kommentar im PR gepostet und aktuell gehalten.
Previews laufen wie reguläre Dienste (verbundenes Repository + Deploy-Engine erforderlich), mit mindestens 1 Instanz — kein Scale-to-Zero, solange der PR offen ist. Beim Merge oder Schließen des PR wird die Umgebung automatisch zerstört.