Imágenes en hardware dedicado con bencher run


Los Runners en hardware dedicado ejecutan benchmarks empaquetados en Formato de Imagen OCI. Al usar el subcomando CLI bencher run, selecciona una Image con la opción --image para habilitar la ejecución remota en hardware dedicado.

Cuando se realiza Benchmarking Continuo, es decir, benchmarking en CI, usar runners en hardware dedicado puede reducir drásticamente la cantidad de ruido en los resultados de tus benchmarks. Además, Bencher Bare Metal se puede ejecutar fuera de CI utilizando los exactos mismos runners en hardware dedicado. Esto permite que tanto desarrolladores como agentes verifiquen el rendimiento de sus cambios de código sin tener que pasar por un flujo de trabajo completo de CI. Consulta el Flujo de trabajo en hardware dedicado para una visión general completa.

--image <IMAGE>


Establece la referencia de imagen OCI para la ejecución remota del Runner en hardware dedicado (por ejemplo, my-image:tag, registry.bencher.dev/my-image:tag, o para instancias de Bencher Self-Hosted localhost:6610/my-image:tag). Solo se admite el registro OCI del servidor de la API de Bencher. Cuando --image está establecido, el comando de benchmark se ejecuta en un Runner remoto en hardware dedicado en lugar de localmente.

--entrypoint <ENTRYPOINT>


Sobrescribe el entrypoint del contenedor para ejecutar el comando de benchmark. Esta opción requiere que la opción --image esté establecida.

--env <KEY=VALUE>


Establece variables de entorno en el formato KEY=VALUE. Se puede especificar varias veces. Esta opción requiere que la opción --image esté establecida.

--job-timeout <SECONDS>


Establece el tiempo máximo de ejecución del job en segundos. Consulta la documentación del Job para más detalles. Esta opción requiere que la opción --image o la opción --job esté establecida.

--job-poll-interval <SECONDS>


Establece el intervalo de sondeo en segundos al esperar la finalización del Job en hardware dedicado. Esta opción requiere que la opción --image o la opción --job esté establecida. Esta opción entra en conflicto con la opción --detach.

--detach


Se desacopla después de enviar el Job en hardware dedicado, sin esperar a su finalización. Esta opción requiere que la opción --image esté establecida. Esta opción entra en conflicto con la opción --job-poll-interval.

--job <UUID>


Opcional: Se conecta a un Job en hardware dedicado. La mayoría de las veces, esta opción se usa cuando una invocación separada de bencher run ya ha usado la bandera --detach. Varias otras opciones de bencher run vuelven a surtir efecto y funcionan como si nunca hubiera desacoplado la ejecución. Esto le permite esperar los Jobs en hardware dedicado de forma asíncrona mediante callbacks (webhooks por cada invocación de bencher run).

Consulte Pull Requests en hardware dedicado para ver un ejemplo con GitHub Actions.

--callback-url <URL>


Opcional: Especifica una URL de callback para un Job en hardware dedicado desacoplado. La URL debe usar https. La Organización de este Proyecto debe tener un plan Bencher Plus activo.

Para especificar los encabezados de la petición, use la opción --callback-header. Para especificar el cuerpo de la petición, use la opción --callback-body. De lo contrario, se usa por defecto el cuerpo de la respuesta del endpoint de la API de bencher run.

Esta opción requiere que la opción --image y la bandera --detach estén establecidas. Esta opción entra en conflicto con la opción --github-actions.

--callback-header <NAME: VALUE>


Opcional: Agrega un encabezado a la petición del callback en formato NAME: VALUE. El NAME del encabezado tiene un tamaño máximo de 256 bytes, y el VALUE del encabezado tiene un tamaño máximo de 8 KiB. Esta opción se puede especificar varias veces (máximo 16).

Los siguientes encabezados no se admiten:

  • Connection
  • Content-Length
  • Host
  • Keep-Alive
  • Proxy-Connection
  • TE
  • Trailer
  • Transfer-Encoding
  • Upgrade

Esta opción requiere que la opción --callback-url esté establecida.

--callback-body <JSON>


Opcional: Establece el cuerpo JSON de la petición del callback. Este valor JSON puede usar cualquiera de las siguientes variables de plantilla dentro de una cadena:

Variable Se expande como Valor
{{ project.uuid }} Cadena UUID del Proyecto
{{ project.name }} Cadena Nombre del Proyecto
{{ project.slug }} Cadena Slug del Proyecto
{{ report }} Objeto Informe (límite 1)
{{ report.uuid }} Cadena UUID del informe
{{ job.uuid }} Cadena UUID del Job
{{ job.status }} Cadena Estado final del Job: processed, failed o canceled

El tamaño máximo de esta plantilla de valor JSON es de 64 KiB. La expansión de la plantilla se hace en una sola pasada, y cualquier variable de plantilla desconocida hará fallar la expansión.

Esta opción requiere que la opción --callback-url esté establecida. Si no se especifica la opción --callback-body, se usa por defecto el cuerpo de la respuesta del endpoint de la API de bencher run ("{{ report }}").

Por ejemplo, para publicar un mensaje en un webhook entrante de Slack:

Terminal window
bencher run \
--project project-abc4567-wxyz123456789 \
--image project-abc4567-wxyz123456789:latest \
--detach \
--callback-url "$SLACK_WEBHOOK_URL" \
--callback-body '{"text": "{{ project.name }}: Bencher Job {{ job.status }}", "blocks": [{"type": "section", "text": {"type": "mrkdwn", "text": "*{{ project.name }}*: Bencher Job {{ job.status }}\n<https://bencher.dev/console/projects/{{ project.slug }}/reports/{{ report.uuid }}|View the report>"}}]}' \
bencher mock


🐰 ¡Felicidades! Has aprendido todo sobre las Imágenes en hardware dedicado. 🎉


Continúa: Ramas & Puntos de Inicio ➡

🤖 Este documento fue traducido automáticamente por IA. Puede que no sea exacto y contenga errores. Si encuentra algún error, abra un problema en GitHub.


Published: Sun, April 5, 2026 at 6:00:00 AM UTC | Last Updated: Sun, September 27, 2026 at 12:00:00 AM UTC