Verwenden von Chef-Bereitstellungs-Hooks - AWS OpsWorks

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Chef-Bereitstellungs-Hooks

Wichtig

Der AWS OpsWorks Stacks Dienst hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf AWS re:POST oder über den AWS Premium-Support.

Sie können die Bereitstellung anpassen, indem Sie ein benutzerdefiniertes Rezept für die erforderlichen Aufgaben implementieren und es dem passenden Bereitstellungsereignis des Layers zuweisen. Ein alternativer und manchmal einfacherer Ansatz — insbesondere, wenn Sie kein Kochbuch für andere Zwecke implementieren müssen — besteht darin, Chef-Bereitstellungs-Hooks zu verwenden, um Ihren Anpassungscode auszuführen. Außerdem werden benutzerdefinierte Bereitstellungsrezepte nach der Bereitstellung durch integrierte Rezepte ausgeführt. Mithilfe von Bereitstellungs-Hooks können Sie in eine Bereitstellung eingreifen, beispielsweise nachdem der App-Code aus dem Repository abgerufen wurde, aber bevor Apache neu gestartet wird.

Chef stellt Apps in vier Phasen bereit:

  • Checkout — Lädt die Dateien aus dem Repository herunter

  • Migrieren — Führt bei Bedarf eine Migration durch

  • Symlink — Erzeugt Symlinks

  • Restart — Startet die Anwendung neu

Chef-Bereitstellungs-Hooks sind eine einfache Möglichkeit, eine Bereitstellung anzupassen, indem Sie optional nach Abschluss einer Phase eine vom Benutzer erstellte Ruby-Anwendung ausführen können. Um Bereitstellungs-Hooks zu verwenden, implementieren Sie mindestens eine Ruby-Anwendung und speichern diese im Verzeichnis /deploy Ihrer App. (Wenn das Verzeichnis /deploy noch nicht vorhanden ist, erstellen Sie es auf APP_ROOT-Ebene.) Die Anwendung muss einen der folgenden Namen haben, über den festgelegt wird, wann sie ausgeführt wird.

  • before_migrate.rb wird nach der Checkout-Phase, aber vor der Migrationsphase ausgeführt.

  • before_symlink.rb wird nach der Migrationsphase, aber vor der Symlink-Phase ausgeführt.

  • before_restart.rb wird nach der Symlink-Phase, aber vor der Neustartphase ausgeführt.

  • after_restart.rb wird nach der Neustartphase ausgeführt.

Chef-Bereitstellungs-Hooks können genau wie Rezepte über die Standard-Knotensyntax auf das Knotenobjekt zugreifen. Außerdem können Bereitstellungs-Hooks auf die Werte beliebiger App-Umgebungsvariablen zugreifen, die Sie festgelegt haben. Sie müssen jedoch new_resource.environment["VARIABLE_NAME"] anstelle von ENV["VARIABLE_NAME"] verwenden, um auf die Variablenwerte zuzugreifen.