Gitlab

Déploiement de pages statiques

Build site statique

Cette phase a lieu avant le déploiement.

A l’instar du build des assets, la package registry de Gitlab peut être utilisée pour stocker le résultat d’une génération de pages statiques pour les applications qui utilisent le procédé “Jamstack” (Gatsby, Hugo, Jekyll, Lektor …) ou les frameworks qui permettent de générer des sites statiques (Nuxt, React, Next …).

Ainsi on peut demander à la CI de s’occuper de builder le site statique et le résultat de la génération sera envoyé dans les packages de Gitlab pour être ensuite déployés en utilisant le workflow.

Dans le .gitlab-ci du projet, on peut ajouter les commandes relatives au build et au stockage de la sortie du build du site statique dans les packages Gitlab. Voici pour exemple la manière dont cette documentation est buildée puis déployée en utilisant notre workflow au moyen d’une image Docker NodeJs :

generate:
    stage: generate
    script:
        - >
          docker run --rm -u `id -u` 
          -w /var/www 
          -v $(HOME)/.cache/npm:/.npm 
          -v `pwd`:/var/www 
          bearstech/node-dev:16 
          npm install && npm run build

release:
    stage: release
    script:
    	- tar cvzf docks-public.tar.gz public
    	- 'curl "JOB-TOKEN: $(CI_JOB_TOKEN)" --upload-file docks-public.tar.gz "$(CI_API_V4_URL)/projects/$(CI_PROJECT_ID)/packages/generic/docks-public/$(SITE_VERSION)/docks-public.tar.gz"'

Top