Déclencheurs de déploiement
Préchauffez automatiquement après chaque mise en production, depuis Vercel, Netlify, Shopify ou n’importe quelle chaîne CI.
9 min de lecture
Les déploiements constituent le moyen le plus fiable de refroidir simultanément un site entier. Une version invalide les caches en gros, et chaque visiteur dans les minutes suivantes paie simultanément le coût de reconstruction – exactement au moment où vous êtes le plus susceptible de surveiller les problèmes.
Les déclencheurs de déploiement intègrent le réchauffement à l'expédition. Lorsque votre déploiement réussit, votre plateforme appelle Cache Rocket et le préchauffage démarre sans que personne n'ouvre de tableau de bord.
Les URL de webhook et les exemples se trouvent sur Compte → Déployer les intégrations.
Comment ça marche
Vous donnez à votre plateforme d'hébergement ou CI une URL à appeler après un déploiement réussi. La requête contient vos clés API comme en-têtes, ainsi qu'un petit corps JSON indiquant quoi réchauffer.
curl -X POST https://api.cacherocket.com/web/v1/public/webhooks/vercel \
-H "Content-Type: application/json" \
-H "X-Public-Key: YOUR_PUBLIC_KEY" \
-H "X-Secret-Key: YOUR_SECRET_KEY" \
-d '{"hostname":"www.example.com"}'| Plateforme | Chemin du webhook |
|---|---|
| Vercel | /web/v1/public/webhooks/vercel |
| Netlify | /web/v1/public/webhooks/netlify |
| Shopify | /web/v1/public/webhooks/shopify |
Note
L'URL de base exacte de votre compte est affichée sur la page Déployer les intégrations, ainsi qu'un exemple de curl prêt à copier par plate-forme.
Choisir une charge utile
Le corps JSON décide de ce qui est réchauffé. Trois options, de la plus large à la plus chirurgicale :
| Corps | Effet | Utiliser quand |
|---|---|---|
{"hostname":"www.example.com"} | Commence chaque warmer correspondant à ce hostname | Une version complète normale. Le choix habituel. |
{"crawlerId":"…"} | Démarre un warmer spécifique | Vous disposez de plusieurs warmers par site et un seul est pertinent pour ce déploiement. |
{"urls":["https://…"]} | La priorité réchauffe exactement ces URL | Une publication partielle ou une poignée de pages dont vous savez qu'elles ont été modifiées. |
curl -X POST https://api.cacherocket.com/web/v1/public/webhooks/netlify \
-H "Content-Type: application/json" \
-H "X-Public-Key: YOUR_PUBLIC_KEY" \
-H "X-Secret-Key: YOUR_SECRET_KEY" \
-d '{"urls":["https://www.example.com/","https://www.example.com/pricing"]}'Vercel
Ajoutez l'URL Cache Rocket en tant que Deploy Hook ou webhook d'intégration dans les paramètres de votre projet, en cas de déploiements de production réussis. Authentifiez-vous avec les en-têtes X-Public-Key et X-Secret-Key.
Tip
Le feu en production se déploie uniquement. Les déploiements en version préliminaire ont leurs propres URL, ne figurent pas sur votre hostname vérifié et les réchauffer gaspille votre budget.
Netlify
Utilisez un webhook de notification sur l'événement déploiement réussi, en pointant vers le chemin Netlify avec les mêmes en-têtes de clé API.
Shopify
Pointez la publication de thème ou les webhooks d'application sur le chemin Shopify, afin que les modifications de la vitrine soient réchauffées dès leur mise en ligne.
Tout pipeline CI
La requête n’a rien de spécifique à la plate-forme : il s’agit d’un HTTP POST. Ajoutez-le comme dernière étape de tout pipeline.
- name: Warm Cache Rocket after deploy
run: |
curl -X POST https://api.cacherocket.com/web/v1/public/webhooks/vercel \
-H "Content-Type: application/json" \
-H "X-Public-Key: ${{ secrets.CACHEROCKET_PUBLIC_KEY }}" \
-H "X-Secret-Key: ${{ secrets.CACHEROCKET_SECRET_KEY }}" \
-d '{"hostname":"www.example.com"}'Ne codez jamais en dur la clé secrète dans un fichier pipeline
Utilisez le magasin de secrets cryptés de votre fournisseur CI, comme ci-dessus. Les définitions de pipeline se trouvent dans votre référentiel et un secret validé est un secret divulgué.
Alternative : triggerWarm
Il existe également un point de terminaison plus simple qui prend les clés dans le corps plutôt que dans les en-têtes, ce qui convient aux environnements où la définition d'en-têtes personnalisés est délicate :
curl -X POST https://cacherocket.com/api/wordpress/triggerWarm \
-H 'Content-Type: application/json' \
-d '{"publicKey":"YOUR_KEY","secretKey":"YOUR_SECRET","hostname":"example.com"}'Une priorité de point de terminaison compagnon warmUrls réchauffe une liste explicite d'URL.
Bien passer la commande
La séquence compte plus que ce à quoi les gens s’attendent :
- 1
Le déploiement est terminé et la nouvelle version est en ligne
Réchauffer une version qui n’a pas fini de déployer met simplement en cache l’ancienne.
- 2
Purger le CDN, si le déploiement a modifié la sortie mise en cache
Sinon, le réchauffement relit ce qui est déjà mis en cache et rien ne s'améliore.
- 3
Puis déclenchez le réchauffement
Désormais, l'exécution à chaud récupère du contenu véritablement nouveau et en remplit le cache.
Un réchauffement trop précoce est une erreur classique
Si le déclencheur se déclenche avant que le déploiement ne soit complètement opérationnel ou avant que le CDN ne soit purgé, vous réchaufferez soigneusement la version précédente. Accrochez-vous à l'événement *réussi*, pas à celui *démarré*.
Problèmes courants
- Le webhook renvoie
401. - Les clés sont erronées, expirées ou remplacées par une paire plus récente. Vérifiez que les deux noms d'en-tête sont exactement
X-Public-KeyetX-Secret-Key, et recherchez les valeurs tronquées dans votre magasin de secrets. - Cela rend le succès mais rien ne réchauffe.
- Le hostname dans le corps ne correspond probablement à aucun warmer actif. Confirmez le hostname exact, y compris le
www, et que le warmer correspondant est actif. - Le réchauffement s'est produit, mais les visiteurs ont toujours accédé aux pages froides.
- Presque toujours en ordre : soit il a tiré avant que le déploiement ne soit en direct, soit le CDN a été purgé après le réchauffement plutôt qu'avant. Ajoutez une étape de purge avant le déclencheur.
- Les déploiements en version préliminaire consomment mon budget URL.
- Restreindre le webhook aux déploiements de production uniquement.
- Est-ce la même chose qu’une purge CDN ?
- Non. Les déclencheurs de déploiement commencent à se réchauffer ; ils n'invalident rien. Intégrations CDN purgez puis réchauffez. De nombreuses équipes utilisent les deux.