Monorepos

GitBook prend en charge les monorepos. Un monorepo est un dépôt qui contient plus d'un projet logique (par ex. un client iOS et une application web).

GitBook peut synchroniser plusieurs répertoires du même dépôt avec plusieurs espaces. Lors de l'activation de la synchronisation Git sur un espace, vous pouvez configurer un « Répertoire du projet ». Il sera utilisé pour rechercher le .gitbook.yaml fichier du répertoire à synchroniser avec cet espace.

Exemple de structure d'un dépôt :

/
  package.json
  packages/
     styleguide/
        .gitbook.yaml
        README.md
        SUMMARY.md
     app/
        README.md
        SUMMARY.md
     api/
        .gitbook.yaml
        README.md
        SUMMARY.md

Dans cet exemple, 3 espaces peuvent être créés sur GitBook et configurés avec des répertoires racine différents :

  • packages/styleguide

  • packages/app

  • packages/api

L'option « Répertoire du projet » au niveau de la synchronisation Git diffère de root option dans le .gitbook.yaml fichier de configuration. La première est utilisée pour rechercher .gitbook.yaml lui-même, puis les deux sont combinés pour rechercher le reste des fichiers dans le répertoire. Si aucun .gitbook.yaml n'existe dans le « Répertoire du projet », la synchronisation utilisera la configuration par défaut limitée à ce répertoire.

Mise à jour du répertoire du projet

Dans la plupart des cas, nous recommandons l'étape suivante pour mettre à jour le Répertoire du projet :

  1. Désactiver la synchronisation Git existante

  2. Déplacer les fichiers dans le dépôt Git vers le Répertoire du projet

  3. Reconfigurer la synchronisation Git avec le nouveau Répertoire du projet

Dans certains cas, vous avez peut-être commencé avec un dépôt typique synchronisé avec un seul espace, puis décidé de passer à un monorepo avec plusieurs espaces le synchronisant ; ou vous pourriez devoir renommer le Répertoire du projet.

Changer le Répertoire du projet sur une synchronisation Git existante peut avoir un impact inattendu sur le contenu ; le changement ne sera propagé que lors de la prochaine synchronisation (édition effectuée sur GitBook ou nouveau commit dans le dépôt Git).

Si la prochaine opération est une importation depuis le dépôt Git:

GitBook s'attendra à trouver les pages et fichiers dans le Répertoire du projet. Si les fichiers n'ont pas déjà été déplacés dans le Répertoire du projet du dépôt, le résultat de la synchronisation serait un espace vide sans contenu.

Nous recommandons que la prochaine opération soit un commit déplaçant tous les fichiers liés à GitBook (fichiers markdown, README/SUMMARY et ressources) dans le dépôt vers leur nouvel emplacement correct, dans le Répertoire du projet.

Si la prochaine opération est une exportation depuis GitBook vers le dépôt Git:

GitBook générera ou mettra à jour de nouveaux fichiers dans le nouveau Répertoire du projet. Les fichiers synchronisés avec GitBook seront déplacés vers le nouveau Répertoire du projet (avec la meilleure tentative) ; cela pourrait entraîner des effets secondaires si d'autres parties de votre système dépendent de ces fichiers.

Mis à jour

Ce contenu vous a-t-il été utile ?