Aller au contenu

Monorepo

Plusieurs applications dans un même dépôt : un service par application, chacun construit avec son propre Dockerfile.

Vérifié le 23 oct. 2026 sur la console

Un service Fransys par application du dépôt, tous reliés au même dépôt. Chaque service a son pipeline, qui construit l’image avec le Dockerfile de son application.

mon-depot/
└── apps/
├── api/
│ └── Dockerfile
└── front/
└── Dockerfile
  1. Ajouter le service : une Application par sous-dossier, avec un nom clair (api, front).
  2. Relier le dépôt : la même origine du code, le même dépôt et la même branche.
  3. Brancher la CI : Fransys ouvre une merge request qui ajoute son pipeline.
  4. Indiquer le Dockerfile : dans votre dépôt, créez une variable de CI propre à ce service (sur GitHub : Settings › Secrets and variables › Actions › Variables), par exemple DOCKERFILE_PATH_API = apps/api/Dockerfile. Dans le fichier de pipeline ajouté par la merge request, remplacez la variable DOCKERFILE_PATH par la vôtre, puis renommez le fichier (par exemple fransys_api.yml) pour qu’il ne soit pas écrasé par celui du service suivant.
  5. Merger et vérifier : quand le pipeline passe, le dernier commit apparaît dans le service.

Recommencez pour chaque application, avec sa propre variable (DOCKERFILE_PATH_FRONT…).

  • Une faute dans le chemin du Dockerfile fait échouer le build : vérifiez-le dans le journal du pipeline.
  • Chaque push déclenche les pipelines de toutes les applications. Pour n’en construire qu’une, ajoutez un filtre de chemins à son pipeline (paths: sur GitHub Actions, rules: changes: sur GitLab CI).
  • La même logique vaut pour GitLab.