KitewellKitewell herunterladenFür Mac herunterladenFür Windows herunterladen
← Alle Aufgaben

Bei jedem Release

Ich verbinde mich per SSH mit jedem Server, ziehe das Release, starte den Dienst neu und rufe den Health-Check mit curl ab, eine Maschine nach der anderen.

So läuft es heute

ssh web-1.git pull.sudo systemctl restart app.curl /healthz.Warten. Noch mal.exit.ssh web-2.

Jedes Release, jede Maschine.

Sagen Sie es Kitewell einmal

Sie
Erstellen Sie einen chain-Workflow für meine Webserver-Gruppe, der /srv/app mit git aktualisiert, auf meine Genehmigung wartet, den Dienst app neu startet und auf jeder Maschine http://127.0.0.1:8080/healthz prüft, bevor er zur nächsten übergeht.

Das ist die ganze Einrichtung. Kitewell legt jeden Schritt zur Prüfung vor, und nichts wird gespeichert, bevor Sie es übernehmen.

Für Ihre eigene Version kopieren Sie diesen Text und füllen die Lücken aus:

Erstellen Sie einen Workflow für [meine Servergruppe], der Maschine für Maschine [den Ordner der App] mit git aktualisiert, auf meine Genehmigung wartet, [den Dienst der App] neu startet und [die Adresse des Health-Checks] prüft, bevor er zur nächsten übergeht.

Kitewell herunterladenFür Mac herunterladenFür Windows herunterladenKitewell läuft auf Mac und Windows. Mac · Windows

Dann läuft es von selbst

Rollout · web-GruppeLäuft auf diesem Computer

  1. Release ziehenEin Fast-Forward-Pull auf der Maschine.Fertig
  2. Auf Ihr OK wartenDer Neustart wartet Maschine für Maschine auf Ihre Genehmigung.Wartet auf Sie
  3. Dienst neu startenLäuft, nachdem Sie genehmigt haben.Fertig
  4. Prüfen, ob er antwortetSechs Versuche im Abstand von fünf Sekunden. Eine Maschine, die nie antwortet, stoppt den Rollout.Fertig

Was Sie stattdessen bekommen

  1. web-1Gesund
  2. web-2Gesund
  3. web-3Keine Antwort von /healthz
  4. web-4Unberührt
Beispieldaten

Gut zu wissen

  • Weil die Gruppe beim ersten Fehler stoppt, hält eine Maschine, die ihre Prüfung nicht besteht, den Rollout an, und der Rest bleibt unberührt.
  • Hostschlüssel werden im Projekt genehmigt, und jedes Passwort stammt aus einem Secret; der Workflow enthält also keins von beiden.

Was es braucht

  • Die als Gruppe registrierten Server: eine Maschine nach der anderen, Stopp bei einem Fehler

Weitere Aufgaben