docs/.gitlab-ci.yml

48 lines
1.1 KiB
YAML

# Usa un'immagine Node.js per tutti i job
image: node:lts-slim
# Definisci le fasi della pipeline
stages:
- build
- deploy
# Memorizza nella cache node_modules per velocizzare le build successive
cache:
key:
files:
- yarn.lock
paths:
- node_modules/
# Job per installare le dipendenze e costruire il sito
build_site:
stage: build
script:
# Se usi npm, cambia i comandi in "npm install" e "npm run build"
- yarn install
- yarn build
artifacts:
paths:
# Docusaurus crea il sito nella cartella "build"
- build/
# Job per pubblicare il sito su GitLab Pages
pages:
stage: deploy
# Questa riga è FONDAMENTALE: dice a GitLab di usare
# SOLO i runner che hanno il tag "docusaurus".
tags:
- docusaurus
script:
# Pulisci la cartella public (potrebbe contenere vecchi file)
- rm -rf public
# Sposta i file costruiti dal job precedente nella cartella public
- mv build public
artifacts:
paths:
# Questo è il contenuto che GitLab Pages pubblicherà
- public
rules:
# Esegui questo job solo sui commit nel branch principale
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH