Aller au contenu
Deploy
Parcourir la documentation

Recettes : exécuter des scripts bash sur plusieurs serveurs

Enregistrez des scripts bash en recettes et lancez-les sur un ou plusieurs serveurs, en root ou utilisateur serveur, avec variables et rapport par e-mail.

Voir en Markdown Mis à jour le 7 octobre 2026

Une recette est un script bash enregistré que vous exécutez sur un ou plusieurs de vos serveurs. Utilisez les recettes pour le travail répétitif, comme installer un outil, libérer de l'espace disque, faire tourner des logs ou vérifier un réglage sur chaque serveur. Vous écrivez le script une fois, et l'organisation peut l'exécuter sur n'importe quel serveur actif dès que nécessaire.

Chaque exécution lance une tâche en arrière-plan par serveur, ce qui vous permet de suivre séparément la sortie de chaque serveur. Les recettes appartiennent à l'organisation : chaque membre les voit, et les membres ayant le rôle de développeur ou supérieur peuvent les créer, les modifier et les exécuter.

La page des recettes avec les recettes enregistrées et les exécutions récentes par serveur
Les recettes d'une organisation

Créer une recette

  1. Ouvrez Recettes dans la navigation du haut de l'organisation.
  2. Cliquez sur Nouvelle recette.
  3. Saisissez un Nom, par exemple « Installer htop ».
  4. Sous Exécuter en tant que, choisissez root ou Utilisateur du serveur (l'utilisateur à qui appartiennent les sites sur le serveur).
  5. Écrivez le Script dans l'éditeur. Il s'exécute avec bash : vous pouvez donc l'écrire exactement comme dans un terminal.
  6. Cliquez sur Enregistrer la recette.

La recette apparaît maintenant dans la liste, avec la première ligne de son script, l'utilisateur sous lequel elle s'exécute et sa dernière exécution.

Exemple : installer un outil sur chaque serveur

apt-get update
apt-get install -y htop ncdu

Exécutez-la en tant que root. Les commandes qui nécessitent root, comme apt-get, échouent quand la recette s'exécute en tant qu'utilisateur du serveur.

Utiliser des variables dans une recette

Une recette peut contenir des variables entre doubles accolades. Juste avant l'exécution du script, Vimonto Deploy les remplace par les valeurs du serveur sur lequel il s'exécute. L'éditeur les liste sous Variables, renseignées par serveur.

Variable Valeur
{{server_id}} L'identifiant du serveur dans Vimonto Deploy.
{{server_name}} Le nom du serveur.
{{server_type}} Le type de serveur, par exemple app ou database.
{{ip_address}} L'adresse IP publique.
{{private_ip_address}} L'adresse IP privée, s'il y en a une ; sinon vide.
{{user}} L'utilisateur propre au serveur.
{{db_password}} Le mot de passe de la base de données, tant que Vimonto Deploy le conserve encore pour le serveur.

Les variables dont le nom ne figure pas dans cette liste restent telles que vous les avez écrites.

Exemple :

echo "Cleaning up on {{server_name}} ({{ip_address}})"
du -sh /home/{{user}}/*

Exécuter une recette

  1. Cliquez sur Exécuter à côté de la recette.
  2. Sous Serveurs, cochez chaque serveur sur lequel elle doit s'exécuter. La liste affiche les serveurs auxquels vous avez accès ; seuls les serveurs actifs peuvent être sélectionnés.
  3. Laissez M’envoyer un rapport par e-mail activé si vous voulez recevoir un e-mail quand tous les serveurs ont terminé, avec les dernières lignes de sortie de chacun. Désactivez-le si vous n'en avez pas besoin.
  4. Cliquez sur Exécuter la recette.

La recette démarre en même temps sur chaque serveur sélectionné, chacun sous forme de tâche distincte. Vous pouvez quitter la page ; la sortie se trouve dans Activité.

Quand tous les serveurs ont terminé, vous recevez une notification Recette terminée dans la cloche (et par e-mail, si vous l'avez activé). Seule la personne qui a lancé l'exécution la reçoit. Consultez les notifications.

Suivre une exécution et lire la sortie

La liste Exécutions récentes, en bas de la page des recettes, affiche les dix dernières exécutions, avec qui les a lancées et quand. Chaque serveur d'une exécution a sa propre pastille avec son statut. Cliquez sur un serveur pour ouvrir sa tâche et lire la sortie complète. Un membre limité aux serveurs de ses équipes ne voit que les exécutions sur ces serveurs, et seulement ses serveurs dans chaque exécution.

Une exécution sur un serveur échoue quand le script se termine avec un code de sortie différent de 0. La tâche indique alors avec quel code de sortie la recette s'est arrêtée. Commencez votre script par set -e si vous voulez qu'il s'arrête à la première commande qui échoue.

Une recette peut tourner jusqu'à environ une heure par serveur. Les scripts plus longs sont interrompus.

Exécuter une recette depuis un script ou la CI

L’API liste les recettes de l'organisation (GET /api/v1/orgs/{organization}/recipes) et en exécute une sur une liste de serveurs (POST /api/v1/orgs/{organization}/recipes/{recipe}/run), avec un jeton qui a la portée Écriture. Chaque serveur reçoit sa propre tâche, que vous pouvez aussi suivre via l’API.

Modifier ou supprimer une recette

Ouvrez le menu à côté de la recette et choisissez :

  • Modifier pour changer le nom, l'utilisateur ou le script. Les exécutions précédentes conservent le script avec lequel elles ont tourné.
  • Supprimer pour retirer la recette pour tous les membres de l'organisation. Les exécutions précédentes restent dans l'activité.

Qui peut utiliser les recettes ?

Chaque membre peut voir les recettes et leurs exécutions. Créer, modifier, exécuter et supprimer des recettes nécessite le rôle de propriétaire, d'administrateur, de manager ou de développeur. Consultez membres et rôles. Quand votre organisation utilise des équipes, vous ne pouvez exécuter une recette que sur les serveurs auxquels vos équipes vous donnent accès.

Questions fréquentes

Puis-je exécuter une recette sur tous mes serveurs à la fois ?

Oui. Cochez chaque serveur dans la liste Serveurs au moment de lancer l'exécution. Chaque serveur reçoit sa propre tâche, et elles tournent en même temps.

Quelle est la différence entre root et l'utilisateur du serveur ?

root peut tout faire sur le serveur, comme installer des paquets et modifier les réglages du système. L'Utilisateur du serveur est l'utilisateur à qui appartiennent vos sites et qui exécute vos déploiements ; utilisez-le pour travailler dans les répertoires de vos sites, afin que les fichiers gardent le bon propriétaire.

Puis-je exécuter la même recette deux fois en même temps sur un serveur ?

Oui. Vimonto Deploy ne vous empêche pas d'exécuter une recette sur un serveur où une autre recette tourne encore : soyez donc prudent avec les scripts qui ne doivent pas se chevaucher.

Combien de temps les exécutions de recettes sont-elles conservées ?

Les exécutions et leur sortie sont conservées 90 jours, comme le reste de l'activité.

Puis-je lancer des commandes ponctuelles sans enregistrer de recette ?

Utilisez le terminal dans le navigateur pour des commandes ponctuelles sur un seul serveur.