Vai al contenuto
IntegratoPipeline CI

Segreti per Bitbucket Pipelines da Crunu con OIDC

Esegui i passaggi di Bitbucket Pipelines con le variabili di un ambiente Crunu e lega il token a repository, branch e deployment con l’OIDC del passaggio.

Supporto
Funziona con Crunu oggi: il supporto per Bitbucket Pipelines fa parte del prodotto.
Funzionalità di Crunu
CI/CD
Verificato
Con Crunu 6.0.0 il 27 ottobre 2026
Esempio. Kiteline è un’azienda fittizia.

Funzionalità di Crunu che funzionano con Bitbucket Pipelines

Ogni funzionalità qui sotto funziona allo stesso modo in ogni integrazione: il server conserva testo cifrato, e solo le persone, le macchine e i token a cui concedi l’accesso possono decifrare.

  • CI/CD

    Dai a ogni pipeline un token di servizio limitato ai suoi ambienti e legalo al tuo provider CI con OIDC, così un token trapelato non può accedere da solo.

    Scopri di più

Come funziona con Bitbucket Pipelines

In questa pagina

Cosa fa Crunu in Bitbucket Pipelines

Un passaggio esegue il tuo comando tramite crunu run. L’agente crunu accede con un token di servizio, controlla le firme, decifra le variabili in memoria e avvia il comando con quelle variabili. Nulla viene scritto su disco.

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

Il token riceve solo gli ambienti che concedi. Con un vincolo CI (OIDC), funziona solo insieme al token OIDC del passaggio, per il repository, il branch e l’ambiente di deployment che imposti. crunu legge da solo il token del passaggio da BITBUCKET_STEP_OIDC_TOKEN.

Configurazione

  1. In Crunu, apri Service tokens e scegli New service token. Concedi gli ambienti di cui il passaggio ha bisogno. Il token viene mostrato una sola volta.
  2. In Bitbucket, aggiungi delle variabili del repository protette: CRUNU_TOKEN e CRUNU_SERVER, più CRUNU_INSTALL_URL, CRUNU_INSTALL_SHA256, CRUNU_VERSION e CRUNU_BINARY_SHA256 dal blocco CI setup nella pagina del token. Nel cloud, CRUNU_SERVER è https://app.crunu.com.
  3. Facoltativo: aggiungi un vincolo CI (OIDC) nella pagina del token. Scegli il provider Bitbucket, il tuo workspace e il repositoryUuid del repository e, se serve, branchName: main e il deploymentEnvironmentUuid del tuo deployment di produzione.

Pipeline di esempio

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

Il passaggio installa una versione fissata di crunu, controlla lo SHA-256 dell’installer prima di eseguirlo ed esegue il comando nell’immagine del passaggio stesso, con tutti i suoi strumenti.

Perché l’audience conta

Imposta come audience l’indirizzo del tuo server Crunu in oidc: audiences: del passaggio, come nell’esempio. Funziona anche l’audience predefinita del workspace di Bitbucket, ma con quella ogni servizio del workspace riceve un token, quindi un’audience dedicata è più sicura. Un passaggio può elencare fino a 10 audience. I token di Bitbucket non contengono il claim jti, quindi il server Crunu tratta un secondo utilizzo dello stesso token come un riutilizzo e lo rifiuta.

La pipe crunu

Il prodotto include anche una pipe di Bitbucket che racchiude questi passaggi: installa crunu, controlla entrambi i checksum ed esegue il tuo comando con crunu run. La sua immagine non è ancora pubblicata su un registry, quindi per ora installa crunu nel passaggio come mostrato sopra. Un passaggio che usa la pipe fa riferimento alla sua immagine tramite indirizzo:

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'

Fissa l’immagine a un tag di versione immutabile o a un digest. Il comando gira nel container della pipe, basato per impostazione predefinita su Node.js 24, non nell’immagine del passaggio. Con una regola OIDC sul token, aggiungi al passaggio oidc: con l’audience del tuo server e OIDC: 'true' alle variabili della pipe. Senza quel flag, la pipe non passa il token OIDC del passaggio né a crunu né al tuo comando.

Tieni il token fuori portata

Il comando sotto crunu run riceve solo variabili di base come PATH e HOME, più le variabili dell’ambiente, e mai le credenziali di crunu. Le variabili del repository di Bitbucket restano comunque visibili a ogni riga di script fuori dalla pipe e a ogni passaggio, quindi la vera protezione è una concessione ristretta: dai a un token CI l’ambiente che compila e tieni production fuori dalla sua portata.

Revoca

Apri il token in Crunu e scegli Revoke. Il suo accesso successivo viene rifiutato, e un passaggio già in esecuzione termina con ciò che ha ricevuto. Se il token potrebbe essere trapelato, ruota anche le chiavi degli ambienti che gli erano stati concessi e riemetti presso i fornitori i valori che contengono.

Correlati

Dubbi frequenti

Non trovi la risposta? Scrivi a support@crunu.com e ti risponderà una persona.

La pipe crunu è pubblicata?

Non ancora. Installa crunu nel passaggio con tre comandi, come mostra la pipeline di esempio.

Quale audience OIDC deve usare il passaggio?

L’indirizzo del tuo server Crunu. Funziona anche l’audience predefinita del workspace, ma con quella ogni servizio del workspace riceve un token.

Il token OIDC di un passaggio si può usare due volte?

No. I token di Bitbucket non contengono il claim jti, quindi il server Crunu tratta un secondo utilizzo dello stesso token come un riutilizzo e lo rifiuta.

Provalo con Bitbucket Pipelines

Crea la tua organizzazione su app.crunu.com, aggiungi un ambiente e collegalo. Gratis durante l’accesso anticipato.