Guides
Déployer une app dans un monorepo
Déploie une app qui vit dans un sous-dossier, et plusieurs sites d'un même dépôt.
Ton site peut vivre dans un sous-dossier, comme apps/web ou site/, dans un dépôt qui contient d’autres applications. Indique à Host le dossier racine du projet : c’est là que le build s’exécute.
Résultat attendu : le build s’exécute depuis le dossier de ton app, et seule cette app est publiée.
Détection à l’import
À l’import GitHub, Host lit tout le dépôt et cherche les dossiers qui contiennent un package.json, jusqu’à quatre niveaux de profondeur. Il préfère, dans l’ordre :
- un framework reconnu ;
- un dossier qui a un script
build; - un nom usuel :
web,site,www,frontend,app,landing,marketing; - le dossier le moins profond.
La racine d’un monorepo, avec un champ workspaces, un pnpm-workspace.yaml, un turbo.json ou un nx.json, n’est jamais choisie seule. Si le dépôt contient plusieurs applications, choisis celle à déployer. Les dossiers node_modules, dist, build et les caches sont ignorés.
Pour changer le dossier après l’import, modifie le dossier racine dans les réglages du projet.
Le fichier de verrouillage
Dans un monorepo, le fichier de verrouillage, comme pnpm-lock.yaml ou bun.lock, est souvent à la racine. Il compte pour toutes les applications : la commande d’installation suit le gestionnaire qu’il désigne.
Plusieurs sites dans un dépôt
Importe le dépôt une fois par site, en choisissant à chaque fois un dossier différent. Chaque projet a ses domaines, ses variables et son historique.
Avec la CLI
Lance la CLI depuis le dossier de l’app :
cd apps/webvercel --api https://api.host.hgdc.ch deployAvec vercel build et --prebuilt, la même règle s’applique : construis depuis le dossier de l’app. Voir Déployer un framework.
Si ça ne marche pas
- Le build ne trouve pas tes dépendances : ton dossier est sans doute le mauvais. Vérifie que le dossier racine contient le
package.jsonde l’app, et que le fichier de verrouillage est bien à la racine du dépôt. - Host propose la racine du monorepo : choisis le dossier de l’application, pas la racine.
Cette page t'a aidé ?
Merci, c'est noté.