Déployer une app

Après les tests locaux, utilisez mistral deploy pour construire le commit poussé et le déployer dans Studio. La commande utilise votre session mistral login. Sans session, elle utilise une clé API, par exemple en CI.

i
Information

mistral deploy apparaît une fois que vous êtes connecté avec mistral login.

Avant de déployer

Avant de déployer

  • Commitez et poussez l'app vers un dépôt GitHub, configuré comme remote Git nommé origin. Utilisez un dépôt de votre propre compte ou de votre organisation.
  • Connectez GitHub à votre compte Mistral et installez l'app GitHub de Mistral sur le dépôt. La plateforme clone le commit via cette app, y compris pour les dépôts publics.
  • Gardez le répertoire de travail propre, y compris les fichiers non suivis.
  • Commitez les Dockerfiles générés pour vos modules. La CLI vérifie qu'ils existent dans le commit qu'elle déploie.
  • Prévoyez les secrets de production. La CLI n'envoie pas les fichiers d'environnement locaux : vous définissez les valeurs dans Studio, comme l'explique Secrets et configuration.
  • Vérifiez que le plan de votre organisation inclut Apps. Consultez les limites des plans.

mistral deploy vérifie la connexion GitHub et l'installation de l'app avant de créer quoi que ce soit. Dans un terminal, la CLI propose d'ouvrir la page GitHub qui permet de les configurer, puis reprend une fois que vous avez terminé. Sinon, elle s'arrête et affiche le lien de cette page.

Si le commit a été poussé depuis une autre machine, exécutez git fetch origin avant de déployer. Pour du code qui n'est pas sur GitHub, consultez Déployer depuis le disque.

Premier déploiement

Premier déploiement

mistral login
mistral deploy

Sélectionnez l'organisation et l'espace de travail quand la CLI vous le demande. Vous pouvez aussi les indiquer par identifiant ou par nom :

mistral deploy --organization "My organization" --workspace "My workspace"

La CLI affiche la destination avant de commencer, crée l'app et ses modules, construit le commit poussé et attend la fin du déploiement. Elle affiche ensuite l'URL de l'app et un lien vers l'app dans Studio.

Enregistrer la cible de déploiement

Enregistrer la cible de déploiement

Le premier déploiement écrit la liaison de l'app dans mistral.json. La CLI propose de commiter et de pousser ce fichier. Si vous refusez, enregistrez-le avant le prochain déploiement :

git add mistral.json
git commit -m "chore: save the app deployment target"
git push

Les autres clones utilisent la liaison enregistrée pour mettre à jour la même app.

Avertissement

Avant de supprimer ou de modifier la liaison pour changer de destination, vérifiez l'app qu'elle désigne. Sans liaison, le prochain déploiement crée une nouvelle app.

Déployer une modification

Déployer une modification

Commitez et poussez vos modifications, puis relancez mistral deploy. La CLI réutilise la liaison enregistrée. Vérifiez la destination affichée avant de continuer.

Déployer depuis le disque

Déployer depuis le disque

Pour déployer du code qui n'est pas sur GitHub, envoyez le répertoire de l'app au lieu d'un commit poussé :

mistral deploy --from-disk

Rien ne doit être commité ni poussé, et la CLI ignore les vérifications GitHub. Dans un dépôt Git, les fichiers ignorés par Git ne sont pas envoyés. La CLI n'envoie jamais les fichiers dont le nom commence par .env, à l'exception de .env.example. Chaque envoi est limité à 256 Mio.

Un premier déploiement depuis le disque enregistre la liaison dans mistral.json sans la commiter. Commitez-la vous-même pour que les autres clones déploient vers la même app.

Déployer avec une clé API

Déployer avec une clé API

Sans session mistral login, mistral deploy utilise la clé API de MISTRAL_API_KEY, ou une clé enregistrée avec mistral login --api-key. Une clé appartient à un seul espace de travail : l'app y est déployée. Lorsque vous êtes connecté, la CLI utilise votre session, même si MISTRAL_API_KEY est défini.

Pour déployer depuis la CI, consultez Déployer avec une clé API pour connaître la clé nécessaire. mistral apps publish et mistral apps unpublish n'acceptent pas de clé API : exécutez-les après mistral login.

Secrets et configuration

Secrets et configuration

Gardez les identifiants hors de Git. Avant d'utiliser l'app, définissez les valeurs requises par vos capacités, comme MISTRAL_API_KEY, dans l'onglet Secrets de l'app dans Studio, sur chaque module concerné. Utilisez Secrets Manager pour les identifiants partagés et consultez le déploiement géré des apps.

Quand l'app fonctionne à son URL de déploiement, consultez Publier dans Vibe.

Lire les logs

Lire les logs

Depuis le répertoire de l'app, indiquez le nom d'un module de mistral.json pour lire ses logs. Sans nom, la commande lit les logs de la passerelle, qui gère la connexion et le routage :

mistral apps logs api
mistral apps logs api --build
mistral apps logs api -f

La première commande affiche les logs d'exécution récents du module, --build lit son dernier build et -f continue d'afficher les nouvelles lignes jusqu'à ce que vous appuyiez sur Ctrl-C. Quand le déploiement d'un module échoue, mistral deploy affiche les dernières lignes de ses logs et la commande mistral apps logs qui lit la suite. Pour --since, --lines et --json, consultez la Référence de la CLI.

Supprimer une app

Supprimer une app

Avertissement

La suppression d'une app est irréversible. Ses modules et ses bases de données sont supprimés avec elle : copiez d'abord les données que vous voulez garder.

Depuis le répertoire de l'app, supprimez l'app désignée par mistral.json :

mistral apps delete

Pour supprimer une autre app, indiquez son nom ou son identifiant. Dans un terminal, la CLI vous demande de saisir le nom de l'app pour confirmer. Pour --yes, --organization et --workspace, consultez la Référence de la CLI.