Ein Mock-Server für jeden Pull Request
Ein Schritt in einem GitHub-Workflow, und jeder Branch und Pull Request bekommt eine eigene Mock-API-URL. Reviewer testen die Integration vor dem Merge, statt es danach zu merken.
- Eine URL pro Branch
- Aktualisiert bei jedem Push
- Entfernt, wenn der PR schließt
- GitHub Action
Der Mock-Server für diesen Pull Request ist live.
Was ist eine PR-Preview-Umgebung?
Ein Mock-Server, den es für genau einen Branch gibt. Bauen Sie die Mockzilla-Action in einen Workflow ein, den Sie schon haben, und jeder Push deployt die Specs des Repositories und schreibt die URL des Branches in seinen Pull Request.
Er folgt dem Branch und geht mit ihm. Schließt der Pull Request, wird das Deployment abgebaut, es bleibt also nichts Totes zurück, das noch antwortet.
Am Diff sieht man es nicht
Ein Diff auf einer OpenAPI-Datei sagt Ihnen, dass ein Feld umbenannt wurde. Es sagt Ihnen nicht, ob der Client noch funktioniert, und der eine gemeinsame Mock, auf den alle zeigen, ist längst beim Branch von jemand anderem.
Eine URL pro Pull Request macht daraus etwas, das man aufrufen kann. Der Reviewer lässt den Client gegen die API genau dieses Branches laufen, noch vor dem Merge.
Eine URL pro Branch und Pull Request
Jeder Pull Request bekommt eine eigene Adresse, zwei Reviewer an zwei Branches sehen also nie denselben Mock.
Aktualisiert bei jedem Push
Ändern Sie die Spezifikation im Branch, und der Mock hinter dieser URL zieht beim nächsten Push nach. Niemand muss etwas neu deployen.
Automatisch aufgeräumt
Schließt der Pull Request, verschwindet sein Mock-Server mit ihm. Keine toten URLs, nichts läuft weiter.
Fragen
- Brauche ich vorher ein Konto?
- Nein. Der erste Push registriert das Repository, und der Mock antwortet, bevor sich jemand angemeldet hat. Melden Sie sich später mit GitHub an, und die Mocks sind schon da, mit Historie, Replays und Verbrauch.
- Was passiert, wenn der Pull Request schließt?
- Sein Deployment geht mit ihm, es läuft nichts weiter und keine URL antwortet noch, wenn der Branch weg ist.
- Kann ich zusätzlich eine dauerhafte URL behalten?
- Ja. Der Default-Branch behält eine eigene stabile URL, die pro Branch stehen daneben.
Spezifikation rein. Mock-Server raus.
Der Anfang kostet nichts. Dedizierte Infrastruktur, wenn Sie sie brauchen.