Zum Inhalt springen
EingebautCI-Pipeline

Secrets für Bitbucket Pipelines aus Crunu mit Step-OIDC

Schritte in Bitbucket Pipelines mit Variablen einer Crunu-Umgebung ausführen und das Service-Token per Step-OIDC an Repository, Branch und Deployment binden.

Unterstützung
Funktioniert heute mit Crunu: Die Unterstützung für Bitbucket Pipelines ist Teil des Produkts.
Crunu-Funktionen
CI/CD
Geprüft
Mit Crunu 6.0.0 am 27. Oktober 2026
Beispiel. Kiteline ist ein fiktives Unternehmen.

Crunu-Funktionen, die mit Bitbucket Pipelines funktionieren

Jede Funktion unten arbeitet in jeder Integration gleich: Der Server bewahrt Chiffretext auf, und nur die Menschen, Maschinen und Tokens, denen Sie Zugriff gewähren, können entschlüsseln.

  • CI/CD

    Geben Sie jeder Pipeline ein Service-Token, das auf ihre Umgebungen beschränkt ist, und binden Sie es per OIDC an Ihren CI-Anbieter, damit sich ein geleaktes Token nicht allein anmelden kann.

    Mehr erfahren

So funktioniert es mit Bitbucket Pipelines

Auf dieser Seite

Was Crunu in Bitbucket Pipelines tut

Ein Schritt führt Ihren Befehl über crunu run aus. Der Agent crunu meldet sich mit einem Service-Token an, prüft Signaturen, entschlüsselt die Variablen im Arbeitsspeicher und startet den Befehl damit. Nichts wird auf die Festplatte geschrieben.

Shell
crunu run --env web-app/staging -- npm test

Das Token bekommt nur die Umgebungen, die Sie freigeben. Mit einer CI-Bindung (OIDC) funktioniert es nur zusammen mit dem OIDC-Token des Schritts, für das Repository, den Branch und die Deployment-Umgebung, die Sie festlegen. crunu liest das Token des Schritts selbst aus BITBUCKET_STEP_OIDC_TOKEN.

Einrichtung

  1. Öffnen Sie in Crunu Service tokens und wählen Sie New service token. Gewähren Sie die Umgebungen, die der Schritt braucht. Das Token wird nur einmal angezeigt.
  2. Fügen Sie in Bitbucket gesicherte Repository-Variablen hinzu: CRUNU_TOKEN und CRUNU_SERVER, dazu CRUNU_INSTALL_URL, CRUNU_INSTALL_SHA256, CRUNU_VERSION und CRUNU_BINARY_SHA256 aus dem Block CI setup auf der Seite des Tokens. In der Cloud ist CRUNU_SERVER gleich https://app.crunu.com.
  3. Optional: Fügen Sie auf der Seite des Tokens eine CI-Bindung (OIDC) hinzu. Wählen Sie den Anbieter Bitbucket, Ihren Workspace und die repositoryUuid des Repositorys, bei Bedarf auch branchName: main und die deploymentEnvironmentUuid Ihres Produktions-Deployments.

Beispiel-Pipeline

YAML
image: node:24

definitions:
  steps:
    - step: &test
        name: Tests with staging variables
        oidc:                 # only if the token has an OIDC rule
          audiences:
            - https://app.crunu.com   # your Crunu server as its own audience
        script:
          - curl -sSf "$CRUNU_INSTALL_URL" -o /tmp/crunu-install.sh
          - echo "$CRUNU_INSTALL_SHA256  /tmp/crunu-install.sh" | sha256sum -c -
          - sh /tmp/crunu-install.sh --version "$CRUNU_VERSION" --sha256 "$CRUNU_BINARY_SHA256" --user-install
          - crunu run --env web-app/staging -- npm test

pipelines:
  default:
    - step: *test

Der Schritt installiert eine festgelegte Version von crunu, prüft die SHA-256-Prüfsumme des Installers, bevor er ihn ausführt, und führt den Befehl im eigenen Image des Schritts mit all seinen Werkzeugen aus.

Warum die Audience zählt

Setzen Sie die Audience in oidc: audiences: des Schritts auf die Adresse Ihres Crunu-Servers, wie im Beispiel. Die Standard-Audience des Workspace in Bitbucket funktioniert auch, aber dann erhält jeder Dienst im Workspace ein Token damit, eine eigene Audience ist also sicherer. Ein Schritt kann bis zu 10 Audiences aufführen. Tokens von Bitbucket tragen keinen jti-Claim, deshalb behandelt der Crunu-Server eine zweite Verwendung desselben Tokens als Wiederholung und lehnt sie ab.

Die Pipe crunu

Das Produkt enthält auch eine Bitbucket-Pipe, die diese Schritte bündelt: Sie installiert crunu, prüft beide Prüfsummen und führt Ihren Befehl mit crunu run aus. Ihr Image ist noch in keiner Registry veröffentlicht, installieren Sie crunu also vorerst wie oben gezeigt im Schritt. Ein Schritt, der die Pipe nutzt, verweist über die Adresse auf ihr Image:

YAML
        script:
          - pipe: docker://<registry>/<name>:<tag>
            variables:
              CRUNU_TOKEN: $CRUNU_TOKEN
              CRUNU_SERVER: $CRUNU_SERVER
              CRUNU_ENV: 'web-app/staging'
              CRUNU_VERSION: $CRUNU_VERSION
              CRUNU_INSTALL_URL: $CRUNU_INSTALL_URL
              CRUNU_INSTALL_SHA256: $CRUNU_INSTALL_SHA256
              CRUNU_BINARY_SHA256: $CRUNU_BINARY_SHA256
              COMMAND: 'npm ci && npm test'

Pinnen Sie das Image auf ein unveränderliches Versions-Tag oder einen Digest. Der Befehl läuft im Container der Pipe, der standardmäßig auf Node.js 24 basiert, nicht im Image des Schritts. Hat das Token eine OIDC-Regel, fügen Sie dem Schritt oidc: mit der Audience Ihres Servers hinzu und den Variablen der Pipe OIDC: 'true'. Ohne dieses Flag gibt die Pipe das OIDC-Token des Schritts weder an crunu noch an Ihren Befehl weiter.

Das Token unerreichbar halten

Der Befehl unter crunu run erhält nur grundlegende Variablen wie PATH und HOME sowie die Variablen der Umgebung, nie die eigenen Zugangsdaten von crunu. Repository-Variablen von Bitbucket sind trotzdem für jede Zeile im script außerhalb der Pipe und für jeden Schritt sichtbar, also schützt wirklich nur eine enge Freigabe: Geben Sie einem CI-Token die Umgebung, die es baut, und halten Sie production heraus.

Widerrufen

Öffnen Sie das Token in Crunu und wählen Sie Revoke. Seine nächste Anmeldung wird abgelehnt, und ein bereits laufender Schritt läuft mit dem zu Ende, was er erhalten hat. Falls das Token geleakt sein könnte, rotieren Sie auch die Schlüssel der Umgebungen, die es erhalten hat, und stellen Sie die Werte darin bei ihren Anbietern neu aus.

Weiterführend

Fragen aus der Praxis

Nicht dabei? Schreiben Sie an support@crunu.com, und ein Mensch antwortet.

Ist die Pipe crunu veröffentlicht?

Noch nicht. Installieren Sie crunu im Schritt mit drei Befehlen, wie die Beispiel-Pipeline zeigt.

Welche OIDC-Audience soll der Schritt verwenden?

Die Adresse Ihres Crunu-Servers. Die Standard-Audience des Workspace funktioniert auch, aber dann erhält jeder Dienst im Workspace ein Token damit.

Lässt sich das OIDC-Token eines Schritts zweimal verwenden?

Nein. Tokens von Bitbucket tragen keinen jti-Claim, deshalb behandelt der Crunu-Server eine zweite Verwendung desselben Tokens als Wiederholung und lehnt sie ab.

Probieren Sie es mit Bitbucket Pipelines aus

Legen Sie Ihre Organisation auf app.crunu.com an, fügen Sie eine Umgebung hinzu und binden Sie sie an. Kostenlos im Early Access.