From 7edb052026ca23ca71e76e5801ad2f1a1f912da3 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 25 Apr 2025 13:36:59 +0200 Subject: [PATCH] =?UTF-8?q?"Fichier=20de=20mise=20=C3=A0=20jour"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- run_deploy.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 run_deploy.py diff --git a/run_deploy.py b/run_deploy.py new file mode 100644 index 0000000..178ddcd --- /dev/null +++ b/run_deploy.py @@ -0,0 +1,43 @@ +import paramiko +import os +from dotenv import load_dotenv +import tkinter as tk +from tkinter import messagebox + +load_dotenv() + +HOST = os.getenv("SSH_HOST") +USER = os.getenv("SSH_USER") +KEY = os.getenv("SSH_KEY") + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + +try: + client.connect(hostname=HOST, username=USER, key_filename=KEY) + stdin, stdout, stderr = client.exec_command("bash ~/travail/Gestion_sondes/scripts/deploy_all.sh") + + output = stdout.read().decode() + errors = stderr.read().decode() + + if "Déploiement complet terminé avec succès" in output: + success = True + else: + success = False + + # Affichage de la notification visuelle + root = tk.Tk() + root.withdraw() # cache la fenêtre principale + + if success: + messagebox.showinfo("Déploiement terminé", "✅ Le déploiement s'est bien déroulé !") + else: + messagebox.showwarning("Déploiement partiel", f"⚠️ Déploiement incomplet. Vérifiez les logs.\n\n{errors}") + +except Exception as e: + root = tk.Tk() + root.withdraw() + messagebox.showerror("Erreur SSH", f"❌ Erreur : {e}") + +finally: + client.close()