Saltar al contenido
IntegradaPipeline de CI

Secretos de Bitbucket Pipelines desde Crunu con OIDC

Ejecuta pasos de Bitbucket Pipelines con variables de un entorno de Crunu y vincula el token de servicio a un repositorio, una rama y un despliegue con OIDC.

Soporte
Funciona con Crunu hoy: el soporte de Bitbucket Pipelines forma parte del producto.
Funciones de Crunu
CI/CD
Comprobado
Con Crunu 6.0.0 el 27 de octubre de 2026
Ejemplo. Kiteline es una empresa ficticia.

Funciones de Crunu que funcionan con Bitbucket Pipelines

Cada función de abajo funciona igual en cada integración: el servidor guarda datos cifrados, y solo las personas, las máquinas y los tokens a los que concedes acceso pueden descifrarlos.

  • CI/CD

    Da a cada pipeline un token de servicio limitado a sus entornos y vincúlalo a tu proveedor de CI con OIDC, para que un token filtrado no pueda iniciar sesión por sí solo.

    Más información

Cómo funciona con Bitbucket Pipelines

En esta página

Qué hace Crunu en Bitbucket Pipelines

Un paso ejecuta tu comando mediante crunu run. El agente crunu inicia sesión con un token de servicio, comprueba las firmas, descifra las variables en memoria e inicia el comando con ellas. No se escribe nada en disco.

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

El token recibe solo los entornos que concedes. Con una vinculación de CI (OIDC), solo funciona junto con el token OIDC del paso, para el repositorio, la rama y el entorno de despliegue que fijes. crunu lee el token del paso de BITBUCKET_STEP_OIDC_TOKEN por su cuenta.

Configuración

  1. En Crunu, abre Service tokens y elige New service token. Concede los entornos que necesita el paso. El token se muestra una sola vez.
  2. En Bitbucket, añade variables de repositorio protegidas: CRUNU_TOKEN y CRUNU_SERVER, además de CRUNU_INSTALL_URL, CRUNU_INSTALL_SHA256, CRUNU_VERSION y CRUNU_BINARY_SHA256 del bloque CI setup de la página del token. En la nube, CRUNU_SERVER es https://app.crunu.com.
  3. Opcional: añade una vinculación de CI (OIDC) en la página del token. Elige el proveedor Bitbucket, tu workspace y el repositoryUuid del repositorio y, si hace falta, branchName: main y el deploymentEnvironmentUuid de tu despliegue de production.

Pipeline de ejemplo

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

El paso instala una versión fijada de crunu, comprueba el SHA-256 del instalador antes de ejecutarlo y ejecuta el comando en la propia imagen del paso, con todas sus herramientas.

Por qué importa la audiencia

Fija la audiencia en la dirección de tu servidor de Crunu en oidc: audiences: del paso, como en el ejemplo. La audiencia por defecto del workspace de Bitbucket también funciona, pero todos los servicios del workspace reciben un token con ella, así que una audiencia dedicada es más segura. Un paso puede indicar hasta 10 audiencias. Los tokens de Bitbucket no llevan el claim jti, así que el servidor de Crunu trata un segundo uso del mismo token como reutilización y lo rechaza.

El pipe crunu

El producto también incluye un pipe de Bitbucket que agrupa estos pasos: instala crunu, comprueba las dos sumas de verificación y ejecuta tu comando con crunu run. Su imagen todavía no está publicada en ningún registro, así que por ahora instala crunu en el paso como se muestra arriba. Un paso que usa el pipe hace referencia a su imagen por dirección:

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'

Fija la imagen a una etiqueta de versión inmutable o a un digest. El comando se ejecuta dentro del contenedor del pipe, basado por defecto en Node.js 24, y no en la imagen del paso. Si el token tiene una regla OIDC, añade al paso oidc: con la audiencia de tu servidor y OIDC: 'true' a las variables del pipe. Sin ese indicador, el pipe no pasa el token OIDC del paso ni a crunu ni a tu comando.

Mantén el token fuera de alcance

El comando que se ejecuta bajo crunu run solo recibe variables básicas como PATH y HOME, más las variables del entorno, y nunca las credenciales propias de crunu. Aun así, las variables de repositorio de Bitbucket son visibles para todas las líneas de script fuera del pipe y para todos los pasos, así que la protección real es un permiso acotado: da a un token de CI el entorno que compila y deja production fuera.

Revocación

Abre el token en Crunu y elige Revoke. Su siguiente inicio de sesión se rechaza, y un paso que ya está en marcha termina con lo que recibió. Si el token pudo filtrarse, rota también las claves de los entornos que se le dieron y reemite los valores que contienen en sus proveedores.

Relacionado

Dudas frecuentes

¿No está aquí? Escribe a support@crunu.com y te responderá una persona.

¿Está publicado el pipe de crunu?

Todavía no. Instala crunu en el paso con tres comandos, como muestra el pipeline de ejemplo.

¿Qué audiencia OIDC debe usar el paso?

La dirección de tu servidor de Crunu. La audiencia por defecto del workspace también funciona, pero todos los servicios del workspace reciben un token con ella.

¿Se puede usar dos veces el token OIDC de un paso?

No. Los tokens de Bitbucket no llevan el claim jti, así que el servidor de Crunu trata un segundo uso del mismo token como reutilización y lo rechaza.

Pruébalo con Bitbucket Pipelines

Crea tu organización en app.crunu.com, añade un entorno y conéctalo. Gratis durante el acceso anticipado.