# Déployer

Cette page suppose un projet existant et l'identifiant de son environnement : voir [Créer un projet](project.md).

## 1. Lancer la construction

L'outil `deployment_create` construit une référence Git et la met en service.

| Champ | Requis | Sens |
| --- | --- | --- |
| `projectId` | oui | L'identifiant `prj_…` du projet. |
| `environmentId` | oui | L'identifiant `env_…` de l'environnement à déployer. |
| `ref` | non | Branche, étiquette ou empreinte ; à défaut, la branche de l'environnement. |
| `stage` | non | Vrai : construire sans mettre en service ; la version pourra être promue ensuite. |
| `releaseId` | non | Une release déjà construite à promouvoir, sans reconstruction. |
| `idempotencyKey` | non | Rejouer l'appel avec la même clé rend la première réponse. |

```json
{
  "projectId": "prj_01JQ8ZK4M7NP2RSTVWXYZ34567",
  "environmentId": "env_01JQ8ZK4M7NP2RSTVWXYZ34567",
  "ref": "main"
}
```

La réponse est immédiate (`202`) : elle porte le déploiement, un `taskId` (`job_…`) et `previousReleaseId`, la release que [la restauration](restore.md) rétablirait.

## 2. Suivre le travail

L'outil `task_read` (arguments `projectId` et `taskId`) rend l'état du travail et la progression du déploiement : ses étapes, horodatées, et leur durée. Il ne maintient aucune connexion ouverte : relisez-le à intervalle raisonnable jusqu'à un état final.

L'outil `deployment_read` rend l'état d'un déploiement, sa cause de fin et la durée de chaque étape ; avec `diagnose`, il ajoute un diagnostic classé.

## 3. Lire le journal de construction

Si la construction échoue, l'outil `deployment_log_read` rend le journal, structuré par étape et horodaté à la milliseconde. Corrigez le dépôt, puis recommencez à l'étape 1.

## 4. Annuler

`deployment_cancel` annule un déploiement encore en file ou en construction, avant qu'il n'ait servi.

## Ce qui n'est pas fait pour vous

Mettre en production ce qui a été construit avec `stage` exige un second appel à `deployment_create` avec `releaseId`. Une écriture sur l'environnement de production n'est jamais silencieuse : elle est tracée et peut demander la validation d'une personne selon sa classe de réversibilité, indiquée dans [la référence MCP](../reference/mcp.md).

Voir aussi : [Restaurer](restore.md).
