Ejecutar Lockpick en CI
Revisa tu sitio con un Pulse cuando publiques una versión, y haz fallar la compilación cuando haya hallazgos graves abiertos.
La CLI funciona en cualquier CI que tenga Node.js 20.9 o posterior. Un Pulse en CI usa un escaneo Pulse de tu cupo mensual cada vez, igual que iniciarlo en Lockpick, así que ejecútalo cuando publiques una versión y no en cada envío.
Escribe el flujo de trabajo
Desde tu repositorio, con la CLI con sesión iniciada:
lockpick ci init <site>Escribe .github/workflows/lockpick.yml. El flujo de trabajo se ejecuta cuando publicas una versión y cuando lo inicias desde la pestaña Actions. Ejecuta un Pulse en el sitio, espera el resultado y falla cuando los hallazgos abiertos son high o más graves. Fija la versión de la CLI con la que se escribió.
--fail-on critical,high,mediumolowdefine el límite.--dry-runmuestra el flujo de trabajo sin escribirlo.--file <path>lo escribe en otro lugar, y--forcereemplaza un archivo existente.
Si la CLI tiene sesión iniciada en una dirección local, ci init te avisa: los runners de GitHub solo pueden llegar a una dirección pública de Lockpick. Pasa --host con esa dirección.
Añade la clave
El flujo de trabajo lee su clave del secreto del repositorio LOCKPICK_KEY. Usa una clave que tenga permiso para iniciar escaneos Pulse.
gh secret set LOCKPICK_KEYFalla con los hallazgos en cualquier lugar
--fail-on funciona en cualquier comando que termine con un escaneo completado: lockpick pulse, lockpick recheck, lockpick watch, lockpick deep start y lockpick findings. lockpick ci check <run-id> lo aplica a un escaneo que ya terminó, sin iniciar uno ni usar tu cupo, y también puede fallar por su antigüedad (--max-age-hours) o su cobertura (--min-coverage). Cuando los hallazgos abiertos alcanzan el límite, el comando termina con el código 8, así que cualquier CI puede detener la compilación:
lockpick pulse <site> --fail-on high --timeout 900En CI, la CLI imprime una línea cada vez que cambia el estado de un escaneo en lugar de una línea de progreso en vivo, y --json imprime solo el resultado. Define FORCE_COLOR=1 para tener color en un registro que lo muestre.
Códigos de salida de la CLI y del script release-scan
La CLI y el script release-scan independiente usan contratos de salida distintos. Comprueba cuál ejecuta tu trabajo.
| Resultado | CLI lockpick | Script release-scan independiente |
|---|---|---|
| Terminó dentro del umbral de hallazgos | 0 | 0 |
| Los hallazgos abiertos alcanzaron el umbral | 8 | 1 |
| El escaneo falló o ocurrió otro error | Mira códigos de salida de la CLI | 1 |
El script release-scan usa una clave de CI limitada a un sitio (LOCKPICK_CI_KEY); la CLI usa LOCKPICK_KEY y los permisos que aprobaste.
¿Te ha sido útil?