Premiers pas avec les déploiements gérés
Ce guide déploie un projet généré par la CLI Mistral en déploiement géré : vous poussez le projet sur GitHub, et Mistral Cloud construit et exécute le worker pour vous. Aucun serveur à gérer, et aucune clé API dans le dépôt — le worker s'authentifie avec un token de compte de service injecté par la plateforme.
Si vous débutez avec Workflows, lisez d'abord Votre premier workflow. Il explique les concepts sur lesquels ce guide s'appuie.
Prérequis
- Un compte Mistral avec le paiement à l’usage activé, ou un plan Entreprise. Le plan gratuit ne peut pas exécuter de déploiements gérés, et les plans payants Pro ou Team seuls ne suffisent pas : le paiement à l’usage doit être activé sur l’organisation. Voir Quotas.
- uv installé.
- Un compte GitHub, avec le droit de créer un dépôt dans une organisation ou sur votre compte personnel.
Étape 1 : générer le projet
Suivez Votre premier workflow pour installer la CLI Mistral, générer un projet avec mistral workflows init, et ajouter le workflow hello-world. Le projet généré inclut un Dockerfile prêt pour les déploiements gérés.
Vérifiez que le worker s'exécute avant de déployer. Depuis le répertoire du projet :
mistral apps devUne fois que le worker a enregistré ses workflows, arrêtez-le avec Ctrl+C, puis commitez le workflow :
git add .
git commit -m "Add hello-world workflow"Étape 2 : pousser le projet sur GitHub
Les déploiements gérés se construisent à partir d'un dépôt GitHub. La génération a déjà initialisé un dépôt Git dans le répertoire du projet.
Seul GitHub public (github.com) est pris en charge pour le moment. GitLab et GitHub Enterprise seront pris en charge à l'avenir.
Créez un dépôt vide sur GitHub, puis poussez :
git remote add origin https://github.com/<votre-org>/<votre-nom-de-depot>.git
git branch -M main
git push -u origin mainLe dépôt peut être public ou privé : Mistral Cloud le clone via l'application GitHub de Mistral, pas via HTTPS public.
Étape 3 : installer l'application GitHub de Mistral
Les déploiements gérés clonent votre code via l'application GitHub de Mistral, et deux éléments doivent être en place avant de déployer :
- Installez l'application GitHub de Mistral sur les dépôts depuis lesquels vous souhaitez déployer. Accédez à github.com/apps/mistralai, cliquez sur Configurer, sélectionnez votre organisation et choisissez les dépôts.
- Connectez GitHub dans la console. Ouvrez Studio›les paramètres de l'application GitHub ↗ et ajoutez des identifiants.
Si votre dépôt apparaît déjà dans la boîte de dialogue de création de déploiement de l'étape suivante, l'application est installée et vous pouvez passer à la suite. Pour un dépôt d'organisation que vous n'administrez pas, demandez à un propriétaire de l'organisation d'installer l'application.
La liste des dépôts affichée lors de la création d'un déploiement contient uniquement les dépôts où l'application est installée et auxquels votre compte peut accéder. Si un dépôt n'apparaît pas dans la liste, c'est que l'application n'y est pas installée.
Étape 4 : créer le déploiement
Choisissez un nom de déploiement unique. Deux déploiements portant le même nom se volent leurs exécutions.
# /// script
# dependencies = [
# "mistralai>=3.0",
# ]
# ///
import os
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
deployment = client.workflows.deployments.create_deployment(
name="<votre-nom-de-deploiement>",
spec={
"github_url": "https://github.com/<votre-org>/<votre-nom-de-depot>",
"revision": "main",
"backend_spec": {
"type": "koyeb",
"dockerfile_path": "deploy/docker/Dockerfile.worker",
},
},
)
print(deployment.name)L'appel renvoie le déploiement créé. Mistral Cloud clone ensuite le dépôt, construit l'image et démarre le worker.
Étape 5 : vérifier et exécuter un workflow
Attendez que le déploiement passe à l'état Actif. Cela signifie que le worker a enregistré ses workflows, qui sont listés sur la page du déploiement. Si le build échoue, ouvrez les détails du déploiement pour consulter l'erreur — la plupart des échecs sont des problèmes de build Docker ou de démarrage que vous pouvez reproduire avec Tester l'image en local.
Exécutez le workflow hello-world comme n'importe quel workflow :
# /// script
# dependencies = [
# "mistralai>=3.0",
# ]
# ///
import os
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
execution = client.workflows.execute_workflow(
workflow_identifier="hello-world",
input={"name": "World"},
)
print(execution.execution_id)Pour attendre la fin du workflow et lire son résultat, appelez client.workflows.execute_workflow_and_wait avec les mêmes arguments.
L'exécution arrive sur votre worker géré et renvoie le message de bienvenue du workflow hello-world.
Étape 6 : publier une nouvelle version
Poussez vos modifications sur la branche déployée, puis redéployez. Mistral Cloud résout la branche sur son commit le plus récent, reconstruit l'image et redémarre le worker.
# /// script
# dependencies = [
# "mistralai>=3.0",
# ]
# ///
import os
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
deployment = client.workflows.deployments.restart_deployment(
name="<votre-nom-de-deploiement>",
)
print(deployment.name)Étapes suivantes
- Pour donner au worker des identifiants pour des services externes, voir Secrets.
- Pour utiliser votre propre
Dockerfileou un worker dans un sous-répertoire, voir Comment ça marche. - En cas de problème, voir Résolution des problèmes.