# Déployer votre code

> Mettre en ligne une application depuis un dépôt GitHub ou GitLab, construite à chaque push par l'intégration continue de Fransys.

Source : https://docs.fransys.cloud/demarrer/deployer-votre-code/ Vérifié sur la console le 2026-10-23.

## Le principe

Fransys construit l'image Docker de votre application à chaque push, puis la déploie. Pour cela, il ouvre sur votre dépôt une merge request qui ajoute son pipeline. Votre code n'est pas modifié.

Il faut un projet rattaché à un cluster. Si vous n'en avez pas encore, suivez d'abord le [Premier déploiement](https://docs.fransys.cloud/demarrer/premier-deploiement/).

## Les étapes

1. **Ajouter le service**

   Dans le projet, cliquez sur **Ajouter un service**, puis **Application**. Fransys prépare ses réglages en une à deux minutes.

2. **Choisir l'origine du code**

   Dans le panneau du service, réglez l'origine du code sur GitHub ou GitLab. Cliquez sur **Relier GitHub** (ou GitLab) si votre compte n'est pas encore relié, puis choisissez le dépôt et la branche.

3. **Brancher l'intégration continue**

   Cliquez sur **Brancher la CI**, puis **Créer la merge request**. Sur votre dépôt :
   - suivez les consignes de la merge request ;
   - mergez-la ;
   - attendez la fin du pipeline : votre dernier commit apparaît alors dans le service.

   Fransys ajoute ses propres éléments de CI sans toucher à l'existant, et des variables préfixées `FRANSYS_` dans le dépôt.

4. **Dire à Fransys comment lancer l'application**

   Le guide **Il reste à dire à Fransys comment lancer votre application** demande trois choses :
   - **le port** sur lequel l'application répond ;
   - **ses variables** : clé de l'application, accès à la base, e-mails… ;
   - **ses voisins** : base de données, cache, files d'attente.

   Le plus simple est de le demander à votre agent (voir plus bas). Sinon, faites-le à la main : réglez le port du conteneur, importez votre `.env.example` dans les [variables](https://docs.fransys.cloud/projets/variables-et-secrets/), et [ajoutez les bases reliées](https://docs.fransys.cloud/projets/bases-de-donnees/).

5. **Déployer**

   Cliquez sur **Déployer**. Voir [Déployer et suivre](https://docs.fransys.cloud/projets/deployer-et-suivre/).

## Le faire préparer par votre agent

Ouvrez votre agent dans le dossier du dépôt et donnez-lui la consigne que propose le guide (bouton **Copier la consigne**). L'agent lit le Dockerfile, le docker-compose et le `.env.example`, puis prépare un plan : port, variables, bases à ajouter et à relier. Rien ne change sans votre accord : vous relisez le plan dans la console avant de l'exécuter. Voir [Les plans](https://docs.fransys.cloud/agents/plans/).

Pour les autres processus (files d'attente, websocket), l'agent copie le service et choisit son rôle par une variable d'environnement : Fransys ne permet pas de changer la commande du conteneur. Pour les tâches planifiées, il utilise une commande récurrente.

## Variables lues au build

Les variables lues au moment du build (par exemple `VITE_…`) ne sont pas encore transmises par la CI de Fransys. Gardez-les dans votre code, ou lisez-les au démarrage de l'application.

## Votre commit n'arrive pas

Voir [Dernier commit non importé](https://docs.fransys.cloud/projets/github-gitlab/#dernier-commit-non-importé).
