Aller au contenu
Matteo Murru
Retour à l'accueil

Comment ce site est déployé

Chaque version est vérifiée, construite, mise en ligne puis surveillée. Voici le chemin d'un commit jusqu'à zapz.work.

Version en ligne

build7de3617

Cette page a été construite à partir de ce commit : 7de3617, .

Schéma

git pushbranche mainCI GitHub Actionslint, build, testsLighthouse CIBuildAstro statiqueImage Dockernginx, GHCRDéploiementCloudflare Workersscript + testszapz.worken ligneSupervisionserveur personneltoutes les 15 min

Étape par étape

  1. Push

    Je pousse sur la branche principale du dépôt GitHub. Seule cette branche part en production.

  2. CI GitHub Actions

    Lint (astro check et une relecture automatique des textes), build Astro statique, puis tests sur le site construit : liens internes, HTML valide, et recherche de secrets, d'adresses IP et de chemins privés. Lighthouse CI échoue si une page passe sous 90 en performance ou sous 95 en accessibilité, bonnes pratiques et SEO.

  3. Image Docker

    Un build multi-étapes : Node construit le site, nginx le sert. Sur la branche principale, l'image est publiée sur GitHub Container Registry avec le commit comme étiquette.

  4. Hébergement

    Le site tourne sur Cloudflare Workers : les fichiers du build sont servis comme assets statiques du Worker, et son code gère les redirections (www vers le domaine nu, http vers https, anciennes adresses, slash final), les en-têtes de sécurité, le cache des fichiers versionnés et la page 404.

  5. Mise en ligne

    Un script lancé depuis mon serveur part de l'export exact du commit, réinstalle les dépendances, reconstruit et relance les tests, publie avec wrangler deploy, puis vérifie en ligne les pages, les redirections et la 404. Une version qui échoue aux tests n'est pas publiée. La CI a le même job de mise en ligne, actif dès que le jeton Cloudflare est posé dans les secrets GitHub. Retour arrière : version précédente du Worker.

  6. Supervision

    Un serveur personnel vérifie zapz.work toutes les 15 minutes (pages fr et en, code 200) et m'alerte en cas d'échec. Un workflow GitHub Actions plus complet (titre, sitemap, robots, CV) se lance à la main : la supervision ne consomme aucune minute de CI.

Le site