Disparadores de despliegue

Calienta automáticamente tras cada publicación, desde Vercel, Netlify, Shopify o cualquier pipeline de CI.

9 min de lectura

Las implementaciones son la forma más confiable de enfriar un sitio completo a la vez. Una versión invalida los cachés por completo y cada visitante en los minutos siguientes paga el costo de reconstrucción simultáneamente, exactamente cuando es más probable que esté atento a los problemas.

Implementar activadores hace que el calentamiento sea parte del envío. Cuando tu implementación tiene éxito, tu plataforma llama a Cache Rocket y el calentamiento comienza sin que nadie abra un panel.

Las URL de webhook y los ejemplos se encuentran en Cuenta → Implementar integraciones.

como funciona

Le proporciona a tu plataforma de alojamiento o CI una URL para llamar después de una implementación exitosa. La solicitud lleva tus claves API como encabezados, además de un pequeño cuerpo JSON que dice qué calentar.

la forma general
bash
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"}'
PlataformaRuta del webhook
Vercel/web/v1/public/webhooks/vercel
Netlify/web/v1/public/webhooks/netlify
Shopify/web/v1/public/webhooks/shopify

Note

La URL base exacta de tu cuenta se muestra en la página Implementar integraciones, junto con un ejemplo de curl listo para copiar por plataforma.

Elegir una carga útil

El cuerpo JSON decide qué se calienta. Tres opciones, desde la más amplia hasta la más quirúrgica:

cuerpoEfectoUsar cuando
{"hostname":"www.example.com"}Comienza cada warmer coincidiendo con ese hostnameUna versión completa normal. La elección habitual.
{"crawlerId":"…"}Inicia un warmer específicoTiene varios warmers por sitio y solo uno es relevante para esta implementación.
{"urls":["https://…"]}La prioridad prioriza exactamente esas URLUna publicación parcial o un puñado de páginas que sabes que cambiaron.
URL específicas con prioridad después de una publicación parcial
bash
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

Agregue la URL Cache Rocket como gancho de implementación o webhook de integración en la configuración de tu proyecto, activando implementaciones de producción exitosas. Autentíquese con los encabezados X-Public-Key y X-Secret-Key.

Tip

El fuego en producción solo se implementa. Las implementaciones de vista previa tienen tus propias URL, no están en tu hostname verificado y calentarlas desperdicia tu presupuesto.

Netlify

Utilice un webhook de notificación en el evento implementación exitosa, apuntando a la ruta Netlify con los mismos encabezados de clave API.

Shopify

Coloque los webhooks de aplicaciones o publicaciones de temas en la ruta Shopify, de modo que los cambios en el escaparate se reactiven tan pronto como se publiquen.

Cualquier canal de CI

No hay nada específico de la plataforma en la solicitud: es una POST HTTP. Agréguelo como el último paso de cualquier proceso.

Acciones de GitHub
yaml
- 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"}'

Nunca codifique la clave secreta en un archivo de canalización

Utilice el almacén de secretos cifrados de tu proveedor de CI, como se indica arriba. Las definiciones de canalización se encuentran en tu repositorio y un secreto confirmado es un secreto filtrado.

Alternativa: triggerWarm

También hay un punto final más simple que toma las claves del cuerpo en lugar de los encabezados, lo que se adapta a entornos donde configurar encabezados personalizados es complicado:

bash
curl -X POST https://cacherocket.com/api/wordpress/triggerWarm \
  -H 'Content-Type: application/json' \
  -d '{"publicKey":"YOUR_KEY","secretKey":"YOUR_SECRET","hostname":"example.com"}'

Una prioridad de punto final complementaria warmUrls calienta una lista explícita de URL.

Realizar el pedido correctamente

La secuencia importa más de lo que la gente espera:

  1. 1

    La implementación se completa y la nueva versión está disponible.

    Calentar una versión que no ha terminado de implementarse simplemente almacena en caché la anterior.

  2. 2

    Purgue la CDN, si la implementación cambió la salida en caché

    De lo contrario, el calentamiento vuelve a leer lo que ya está almacenado en caché y nada mejora.

  3. 3

    Luego activa el calentamiento

    Ahora la ejecución en caliente busca contenido realmente nuevo y llena el caché con él.

Calentarse demasiado pronto es el error clásico

Si el disparador se activa antes de que la implementación esté completamente activa, o antes de que se purgue la CDN, calentará cuidadosamente la versión anterior. Conéctese al evento *exitoso*, no al *iniciado*.

Problemas comunes

El webhook regresa 401.
Las claves son incorrectas, caducadas o reemplazadas por un par más nuevo. Verifique que ambos nombres de encabezado sean exactamente X-Public-Key y X-Secret-Key, y busque valores truncados en tu almacén de secretos.
Devuelve éxito pero nada calienta.
El hostname en el cuerpo probablemente no coincida con ningún warmer activo. Confirme el hostname exacto, incluido el www, y que el warmer coincidente esté activo.
El calentamiento avanza, pero los visitantes siguen encontrando páginas frías.
Casi siempre ordenando: o se disparó antes de que el despliegue estuviera activo, o la CDN se purgó después del calentamiento en lugar de antes. Agregue un paso de purga antes del desencadenante.
Las implementaciones de vista previa están consumiendo mi presupuesto de URL.
Restrinja el webhook solo a implementaciones de producción.
¿Es esto lo mismo que una purga de CDN?
No. Los activadores de implementación comienzan a calentarse; no invalidan nada. Integraciones CDN purgar y luego recalentar. Muchos equipos usan ambos.