CI/CD-Integration
Die prokodo CLI ist vollständig nicht-interaktiv und CI-first gestaltet. Sie liest Geheimnisse aus Umgebungsvariablen und gibt strukturierte JSON-Ausgaben für die maschinelle Verarbeitung zurück.
GitHub Actions
Einfacher Verifizierungs-Workflow
name: prokodo Verifizierung
on:
push:
branches: [main]
pull_request:
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- name: prokodo CLI installieren
run: npm install -g @prokodo/cli
- name: Projekt verifizieren
run: prokodo verify --json
env:
PROKODO_API_KEY: ${{ secrets.PROKODO_API_KEY }}
tipp
Den PROKODO_API_KEY als verschlüsseltes Secret in den Repository-Einstellungen speichern.
Mit gecachtem Schritt
- name: prokodo CLI installieren (gecacht)
run: |
npm install -g @prokodo/cli
prokodo --version
Ergebnis-Artefakt speichern
- name: Verifizierung mit JSON-Ausgabe ausführen
run: prokodo verify --json > prokodo-ergebnis.json
- name: Artefakt hochladen
uses: actions/upload-artifact@v4
with:
name: prokodo-ergebnis
path: prokodo-ergebnis.json
GitLab CI
prokodo-verify:
image: node:22
stage: test
script:
- npm install -g @prokodo/cli
- prokodo verify --json
variables:
PROKODO_API_KEY: $PROKODO_API_KEY
only:
- main
- merge_requests
CircleCI
version: 2.1
jobs:
prokodo-verify:
docker:
- image: cimg/node:22.0
steps:
- checkout
- run:
name: prokodo CLI installieren
command: npm install -g @prokodo/cli
- run:
name: Projekt verifizieren
command: prokodo verify --json
environment:
PROKODO_API_KEY: $PROKODO_API_KEY
Best Practices
| Empfehlung | Grund |
|---|---|
PROKODO_API_KEY als verschlüsseltes Secret speichern | Schlüssel nie in Logs sichtbar |
prokodo doctor --json als Schritt vor verify ausführen | Umgebungsfehler frühzeitig erkennen |
--json-Flag für alle CI-Aufrufe verwenden | Maschinenlesbare Logs |
| Node 22 cachen | Schnellere Pipeline-Ausführungszeiten |
Lokale vs. CI-Umgebung
| Lokal | CI | |
|---|---|---|
| API-Schlüssel | ~/.config/prokodo/credentials.json | PROKODO_API_KEY Env-Variable |
| Farbe | Aktiviert | Deaktiviert (automatisch erkannt oder NO_COLOR=1) |
| Interaktive Eingabeaufforderungen | Ja (wenn TTY) | Nie |
| Exit-Code-Sicherheit | Standard | Wichtig — Pipeline schlägt bei != 0 fehl |