Es gibt wahrscheinlich kein echtes Werkzeug, das das tut, wonach Sie suchen, denn das Paradigma, spezielle Schneeflocken zu haben, in die Sie ssh / rdp einsetzen, verblasst, weil es nicht skaliert wird. Sie sollten sich Ihre Server als Vieh vorstellen, nicht als Haustiere.
Anstatt in Ihren Rechner zu wechseln und zu laufen puppet apply
; Es ist besser, einen Puppenserver zu verwenden und parametrisierte Klassen zu nutzen, um zu definieren, welcher Build freigegeben werden soll.
Klassifizierer für den Puppenmaster für
externe Knoten
Idealerweise sollten Sie zwei bis vier nahezu identische Server mit jeweils identischen Konfigurationen haben. (Produktion + Stufe + Qa + Dev). Auf diese Weise können Sie testen, ob Ihre Bereitstellung auf einem Computer ordnungsgemäß funktioniert, bevor Sie die Bereitstellung in die Produktion übertragen.
Wenn für Ihre Implementierungen mehrere Schritte erforderlich sind, die nicht in Ihrem Modul verkapselt werden können (z. B. Entfernen aus Load Balancer, Ändern der Datenbank, ect ...). Dann sollten Sie Ihre Puppenläufe mit einem Werkzeug erweitern, das diese Schritte nacheinander ausführen kann.
CloudSlang Orchestration Management
Capistrano Deployment Automation
RunDeck Gui, die Jobs / Aufgaben definieren
Andere Tools, die bei der Bereitstellung helfen können.
Consul Service Discovery + Berichterstellung
Letztendlich klingt es so, als wollten Sie eine Feedback-Schleife, die Ihnen mitteilt, ob eine Bereitstellung erfolgreich war. Der Puppenspieler und der Vorarbeiter können das beide. Sie können den Status auch an eine REST-Basisdatenbank melden.
Verwenden Sie dann ein Dashboard-Stilwerkzeug, um die letzten x Ergebnisse anzuzeigen.
Oder Sie könnten wie ein Slack direkt in einen Chat-Raum gehen .
Sie haben erwähnt, dass Sie Protokolle ansehen, um die Ausgabe von Befehlen zu finden. Sie können eine Protokollüberwachung einrichten, die Meldungen in einem Dashboard anzeigen oder sogar Warnungen senden, wenn eine bestimmte Zeile protokolliert wird.
Andere Ressourcen
https://sysadmincasts.com/episodes/47-zero-downtime-deployments-with-ansible-part-4-4