48 lines
1.1 KiB
YAML
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
|