Disparadores de despliegue

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

9 min read

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
Utilice un webhook de notificación en el evento implementación exitosa, apuntando a la ruta Netlify con los mismos encabezados de clave API./web/v1/public/webhooks/netlify
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./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.

Aplicaciones Next.js

Si usa @cacherocket/next, también puede exponer onVercelDeploy() en /api/cacherocket/deploy y apuntar el Deploy Hook a su propia aplicación en lugar de a la URL del webhook público.

Tip

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.

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

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:

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.

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

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

Problemas comunes

Problemas comunes

El webhook devuelve 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 su almacén de secretos.
Devuelve éxito pero nada calienta.
El nombre de host en el cuerpo probablemente no coincida con ningún calentador activo.Confirme el nombre de host exacto, incluido www, y que el calentador correspondiente 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 purga y luego recalienta.Muchos equipos usan ambos.