# Déployer des applications

> Connectez un dépôt Git, définissez les commandes de build et de démarrage, et déployez à chaque push.

Source: https://gheima.ma/fr/docs/deploying

Un service est une application déployable construite à partir d’un dépôt Git. Connectez le dépôt, indiquez à Gheima comment le construire et le démarrer, et il redéploie à chaque push.

1. Push — Un commit arrive sur la branche configurée.
2. Build — Nixpacks détecte votre stack, ou vos commandes s’exécutent.
3. Déploiement — La nouvelle version remplace celle en cours.
4. En ligne — Les logs défilent sur la page du service.

### Connecter un dépôt Git

1. **Depuis GitHub** — Une fois l’application GitHub connectée, choisissez un dépôt dans la liste. L’URL de clonage et la branche par défaut se remplissent automatiquement.
2. **Ou saisir une URL** — Cliquez sur « Saisir une URL manuellement » et collez une URL Git comme https://github.com/vous/depot.

### Réglages de build et d’exécution

Ouvrez l’onglet Paramètres du service. Laissez les commandes de build et de démarrage vides pour que Nixpacks détecte votre stack, ou définissez-les vous-même.

- `Commande de build`: La commande qui construit votre app, par exemple npm run build. Laissez vide pour que Nixpacks la détecte.
- `Commande de démarrage`: La commande qui démarre votre app, par exemple npm start. Laissez vide pour que Nixpacks la détecte.
- `Port`: Le port sur lequel votre app écoute. Par défaut 3000 pour les services web.
- `Chemin du health check`: Un chemin qui répond avec un statut 2xx ou 3xx quand l’app est saine, par exemple /health. Par défaut : /.

> Note: Seul le port ci-dessus est publié sur votre URL, mais le réseau privé sur lequel tourne votre service est partagé avec d’autres applications de la plateforme : elles peuvent joindre tout autre port sur lequel votre application écoute. Liez les panneaux d’administration, serveurs de débogage et points de métriques à 127.0.0.1, ou protégez-les par un mot de passe.

### Déploiement automatique au push

Dans Paramètres, « Déploiement auto au push » est activé par défaut. Chaque push sur la branche configurée déclenche un nouveau déploiement, qui enregistre le SHA du commit, son message et son auteur. Désactivez-le pour ne déployer qu’à la main ou via un hook de déploiement.

> Note: Vous pouvez déployer manuellement à tout moment avec le bouton « Déployer » sur la page du service. Les changements de réglages s’appliquent au prochain déploiement.

### Types de service

- `Web`: Un service HTTP servi sur un sous-domaine gheima.ma. C’est le type par défaut.
- `Worker`: Un processus d’arrière-plan sans URL publique (files, tâches).
- `Static`: Un build statique servi en périphérie. Voir Sites statiques.

### Ressources

La carte Ressources dans Paramètres dimensionne chaque service : répliques (1 à 10), mémoire (128 à 8 192 Mo) et CPU (0,1 à 8 vCPU). Les changements s’appliquent au prochain déploiement, dans les limites de votre plan. Votre plan inclut une réserve de mémoire partagée par tous vos services : mémoire × répliques, additionnées sur tous les services (hors sites statiques). Un nouveau service démarre à la taille par défaut, ou avec ce qui reste de la réserve si c’est moins ; s’il reste moins de 256 Mo, réduisez ou supprimez d’abord un service.

### Volumes persistants

Dans les Paramètres d’un service, attachez un volume persistant à un chemin de montage, par exemple /data. C’est un disque local au nœud qui survit aux déploiements et aux redémarrages : les fichiers écrits y restent. Le changement s’applique au prochain déploiement. Un volume convient à un service à une seule réplique. Un service qui passe à l’échelle doit plutôt utiliser une base de données managée ou du stockage objet.

> Result: Poussez sur votre branche et Gheima construit et déploie la nouvelle version automatiquement, avec les logs en direct sur la page du service.

---

All docs: https://gheima.ma/fr/docs.md
