Lancer Lockpick en CI
Contrôlez votre site avec une analyse Pulse lors de la publication d’une version, et faites échouer le build lorsque des points graves sont ouverts.
La CLI s’exécute dans toute CI disposant de Node.js 20.9 ou d’une version ultérieure. Une analyse Pulse en CI utilise à chaque exécution une analyse Pulse de votre quota mensuel, comme son lancement dans Lockpick. Lancez-la donc lors de la mise en production plutôt qu’à chaque envoi de code.
Écrire le workflow
Depuis votre dépôt, avec la CLI connectée :
lockpick ci init <site>Elle écrit .github/workflows/lockpick.yml. Le workflow s’exécute lorsque vous publiez une version et lorsque vous le lancez depuis l’onglet Actions. Il lance une analyse Pulse sur le site, attend le résultat, et échoue lorsque des points à corriger ouverts ont une gravité high ou plus. Il fixe la version de la CLI avec laquelle il a été écrit.
--fail-on critical,high,mediumoulowdéfinit le seuil.--dry-runaffiche le workflow sans l’écrire.--file <path>l’écrit ailleurs, et--forceremplace un fichier existant.
Si la CLI est connectée à une adresse locale, ci init vous en avertit : les runners GitHub ne peuvent atteindre qu’une adresse Lockpick publique. Passez --host avec cette adresse.
Ajouter la clé
Le workflow lit sa clé dans le secret de dépôt LOCKPICK_KEY. Utilisez une clé autorisée à lancer des analyses Pulse.
gh secret set LOCKPICK_KEYFaire échouer sur les points à corriger partout
--fail-on fonctionne sur toute commande qui se termine par une analyse terminée : lockpick pulse, lockpick recheck, lockpick watch, lockpick deep start et lockpick findings. lockpick ci check <run-id> l’applique à une analyse déjà terminée, sans en lancer une ni utiliser votre quota, et peut aussi échouer selon son âge (--max-age-hours) ou sa couverture (--min-coverage). Lorsque des points à corriger ouverts atteignent le seuil, la commande se termine avec le code 8, ce qui permet à n’importe quelle CI d’arrêter le build :
lockpick pulse <site> --fail-on high --timeout 900En CI, la CLI affiche une ligne à chaque changement d’état d’une analyse, au lieu d’une progression en direct, et --json n’affiche que le résultat. Définissez FORCE_COLOR=1 pour les couleurs dans un journal qui les affiche.
Codes de sortie de la CLI et du script d’analyse de version
La CLI et le script d’analyse de version autonome utilisent des contrats de sortie différents. Vérifiez lequel votre job exécute.
| Résultat | CLI lockpick | Script d’analyse de version autonome |
|---|---|---|
| Terminé sous le seuil de points à corriger | 0 | 0 |
| Des points à corriger ouverts ont atteint le seuil | 8 | 1 |
| L’analyse a échoué ou une autre erreur s’est produite | Voir codes de sortie de la CLI | 1 |
Le script d’analyse de version utilise une clé CI limitée à un site (LOCKPICK_CI_KEY) ; la CLI utilise LOCKPICK_KEY et les autorisations que vous avez accordées.
Cette page vous a-t-elle été utile ?