Automatiser avec GitHub Actions
Déclenchez un préchauffage de cache automatiquement après chaque déploiement avec GitHub Actions.
Exécutez un boost après chaque déploiement en production afin que votre cache soit chaud avant l'arrivée des utilisateurs.
Prérequis
- Un boost déjà créé via l'API ou le tableau de bord
- L'ID de votre site et l'ID de votre boost
- Une clé API avec la portée
boosts:write
Workflow
Ajoutez ce workflow dans .github/workflows/warm-cache.yml de votre dépôt :
name: Préchauffage du cache
on:
deployment_status:
jobs:
warm:
if: github.event.deployment_status.state == 'success'
runs-on: ubuntu-latest
steps:
- name: Déclencher un run CacheBoost
run: |
curl -sf -X POST \
https://api.cache-boost.com/v1/sites/${{ vars.CACHEBOOST_SITE_ID }}/boosts/${{ vars.CACHEBOOST_BOOST_ID }}/run \
-H "Authorization: Bearer ${{ secrets.CACHEBOOST_API_KEY }}"
Configuration
Ajoutez les éléments suivants à votre dépôt :
| Nom | Où | Valeur |
|---|---|---|
CACHEBOOST_API_KEY | Secrets | Votre clé API (cb_live_...) |
CACHEBOOST_SITE_ID | Variables | L'ID de votre site |
CACHEBOOST_BOOST_ID | Variables | L'ID de votre boost |
Allez dans Settings → Secrets and variables → Actions pour les ajouter.
Attendre la fin du run
Si vous souhaitez que le workflow attende la fin du run :
- name: Attendre la fin du run
run: |
RUN_ID=$(curl -sf -X POST \
https://api.cache-boost.com/v1/sites/${{ vars.CACHEBOOST_SITE_ID }}/boosts/${{ vars.CACHEBOOST_BOOST_ID }}/run \
-H "Authorization: Bearer ${{ secrets.CACHEBOOST_API_KEY }}" \
| jq -r '.id')
for i in $(seq 1 30); do
STATUS=$(curl -sf \
https://api.cache-boost.com/v1/runs/$RUN_ID \
-H "Authorization: Bearer ${{ secrets.CACHEBOOST_API_KEY }}" \
| jq -r '.status')
echo "Statut du run : $STATUS"
[ "$STATUS" = "done" ] && exit 0
[ "$STATUS" = "failed" ] && exit 1
sleep 10
done
echo "Délai d'attente dépassé"
exit 1
La boucle ci-dessus expire après 5 minutes (30 × 10s). Ajustez seq 1 30 et sleep 10 en fonction de la durée estimée de votre crawl.