Duplizieren von Umgebungen duplicating-environments
Einleitung introduction
Übersicht overview
Für die Verwendung von Adobe Campaign ist die Installation und Konfiguration einer oder mehrerer Umgebungen erforderlich: Entwicklung, Test, Vorproduktion, Produktion usw.
Jede Umgebung enthält eine Adobe Campaign-Instanz und jede Adobe Campaign-Instanz ist mit einer oder mehreren Datenbanken verknüpft. Der Anwendungsserver kann einen oder mehrere Prozesse ausführen: Fast alle haben direkten Zugriff auf die Instanzdatenbank.
In diesem Abschnitt werden die Prozesse beschrieben, die auf das Duplizieren einer Adobe Campaign-Umgebung angewendet werden sollen, d. h. um eine Quellumgebung in einer Zielumgebung wiederherzustellen, was zu zwei identischen Arbeitsumgebungen führt.
Gehen Sie hierzu wie folgt vor:
-
Erstellen Sie eine Kopie der Datenbanken auf allen Instanzen in der Quellumgebung.
-
Wiederherstellen dieser Kopien auf allen Instanzen der Zielumgebung,
-
Führen Sie das Warnungsskript nms:freezeInstance.js in der Zielumgebung aus, bevor Sie es starten.
Dieser Prozess hat keine Auswirkungen auf die Server und deren Konfiguration.
note note NOTE Im Kontext von Adobe Campaign kombiniert eine Warnung Aktionen, mit denen Sie alle Prozesse stoppen können, die mit der Außenwelt interagieren: Protokolle, Tracking, Sendungen, Kampagnen-Workflows usw.
Dieser Schritt ist erforderlich, um zu verhindern, dass Nachrichten mehrmals gesendet werden (einmal in der nominalen Umgebung und einmal in der duplizierten Umgebung).note important IMPORTANT Eine Umgebung kann mehrere Instanzen enthalten. Jede Adobe Campaign-Instanz unterliegt einem Lizenzvertrag. Überprüfen Sie Ihren Lizenzvertrag, um zu sehen, wie viele Umgebungen Sie nutzen können.
Mit dem unten beschriebenen Verfahren können Sie eine Umgebung übertragen, ohne die Anzahl der installierten Umgebungen und Instanzen zu beeinträchtigen.
Vorbereitung before-you-start
Damit dieser Prozess funktioniert, müssen die Quell- und Zielumgebungen über dieselbe Anzahl von Instanzen, denselben Zweck (Marketing-Instanz, Versandinstanz) und ähnliche Konfigurationen verfügen. Die technische Konfiguration muss den Softwarevoraussetzungen entsprechen. Dieselben Komponenten müssen in beiden Umgebungen installiert sein.
Implementierung implementation
Übermittlungsverfahren transfer-procedure
In diesem Abschnitt werden die Schritte erläutert, die für die Übertragung einer Quellumgebung in eine Zielumgebung über eine Fallstudie erforderlich sind: Unser Ziel ist hier die Wiederherstellung einer Produktionsumgebung (prod -Instanz) in eine Entwicklungsumgebung (dev -Instanz), damit sie in einem Kontext funktioniert, der der "Live"-Plattform so nahe wie möglich ist.
Die folgenden Schritte müssen mit großer Sorgfalt ausgeführt werden: Einige Prozesse werden möglicherweise noch ausgeführt, wenn die Quellumgebungsdatenbanken kopiert werden. Durch die Vorsicht (Schritt 3 unten) wird verhindert, dass Nachrichten zweimal gesendet werden, und die Datenkonsistenz wird gewahrt.
- Das folgende Verfahren ist in der Sprache PostgreSQL gültig. Wenn die SQL-Sprache unterschiedlich ist (z. B. Oracle), müssen die SQL-Abfragen angepasst werden.
- Die folgenden Befehle gelten im Kontext einer prod -Instanz und einer dev -Instanz unter PostgreSQL.
Schritt 1: Erstellen einer Sicherungskopie der Quellumgebungsdaten (prod) step-1---make-a-backup-of-the-source-environment--prod--data
Datenbanken kopieren
Kopieren Sie zunächst alle Quellumgebungsdatenbanken. Der Vorgang hängt von der Datenbank-Engine ab und liegt in der Verantwortung des Datenbankadministrators.
Unter PostgreSQL lautet der Befehl:
pg_dump mydatabase > mydatabase.sql
Schritt 2: Exportieren der Zielumgebungskonfiguration (dev) step-2---export-the-target-environment-configuration--dev-
Die meisten Konfigurationselemente unterscheiden sich je nach Umgebung: externe Konten (Mid-Sourcing, Routing usw.), technische Optionen (Plattformname, DatabaseId, E-Mail-Adressen und Standard-URLs usw.).
Vor dem Speichern der Quelldatenbank in der Zieldatenbank müssen Sie die Konfiguration der Zielumgebung (dev) exportieren. Exportieren Sie dazu den Inhalt dieser beiden Tabellen: xtkoption und nmsextaccount.
Mit diesem Export können Sie die Entwicklungskonfiguration beibehalten und nur Entwicklungsdaten (Workflows, Vorlagen, Webanwendungen, Empfänger usw.) aktualisieren.
Führen Sie dazu einen Package-Export für die folgenden beiden Elemente durch:
- Exportieren Sie die Tabelle xtk:option in eine Datei "options_dev.xml", ohne die Datensätze mit den folgenden internen Namen zu haben: "WdbcTimeZone", "NmsServer_LastPostUpgrade"und "NmsBroadcast_RegexRules".
- Exportieren Sie in der Datei 'extaccount_dev.xml' die Tabelle nms:extAccount für alle Datensätze, deren Kennung nicht 0 ist (@id <> 0).
Überprüfen Sie, ob die Anzahl der exportierten Optionen/Konten der Anzahl der Zeilen entspricht, die in jeder Datei exportiert werden sollen.
Schritt 3: Beenden der Zielumgebung (dev) step-3---stop-the-target-environment--dev-
Sie müssen Adobe Campaign-Prozesse auf allen Zielumgebungsservern stoppen. Dieser Vorgang hängt von Ihrem Betriebssystem ab.
Sie können alle Prozesse stoppen, oder nur die Prozesse, die in die Datenbank schreiben.
Verwenden Sie die folgenden Befehle, um alle Prozesse zu beenden:
-
Windows:
code language-none net stop nlserver6
-
Unter Linux:
code language-none /etc/init.d/nlserver6 stop
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob alle Prozesse beendet wurden:
nlserver pdump
Sie können auch überprüfen, ob noch keine Systemprozesse ausgeführt werden.
Gehen Sie dazu wie folgt vor:
- In Windows: Öffnen Sie den Task Manager und überprüfen Sie, ob keine nlserver.exe -Prozesse vorhanden sind.
- Unter Linux: Führen Sie die Prüfung ps aus. | grep nlserver -Befehl und vergewissern Sie sich, dass keine nlserver -Prozesse vorhanden sind.
Schritt 4: Wiederherstellen der Datenbanken in der Zielumgebung (dev) step-4---restore-the-databases-in-the-target-environment--dev-
Verwenden Sie den folgenden Befehl, um die Quelldatenbanken in der Zielumgebung wiederherzustellen:
psql mydatabase < mydatabase.sql
Schritt 5: Vorsicht bei der Zielumgebung (dev) step-5---cauterize-the-target-environment--dev-
Um Fehlfunktionen zu vermeiden, dürfen Prozesse im Zusammenhang mit dem Versand und der Ausführung des Workflows bei der Aktivierung der Zielumgebung nicht automatisch ausgeführt werden.
Führen Sie dazu den folgenden Befehl aus:
nlserver javascript nms:freezeInstance.js -instance:<dev> -arg:run
6. Schritt - Vorsicht überprüfen step-6---check-cauterization
-
Vergewissern Sie sich, dass der einzige Versandabschnitt derjenige ist, dessen Kennung auf 0 gesetzt ist:
code language-none SELECT * FROM neolane.nmsdeliverypart;
-
Vergewissern Sie sich, dass die Versandstatus-Aktualisierung korrekt ist:
code language-none SELECT iState, count(*) FROM neolane.nmsdelivery GROUP BY iState;
-
Vergewissern Sie sich, dass die Workflow-Status-Aktualisierung korrekt ist:
code language-none SELECT iState, count(*) FROM neolane.xtkworkflow GROUP BY iState; SELECT iStatus, count(*) FROM neolane.xtkworkflow GROUP BY iStatus;
Schritt 7: Starten Sie den Webprozess der Zielumgebung neu (dev) step-7---restart-the-target-environment-web-process--dev-
Starten Sie in der Zielumgebung die Adobe Campaign-Prozesse für alle Server neu.
Führen Sie den folgenden Befehl aus, um den Webprozess zu starten:
nlserver start web
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob nur der Webprozess gestartet wurde:
nlserver pdump
Überprüfen Sie, ob der Zugriff auf die Clientkonsole funktioniert.
Schritt 8: Importieren von Optionen und externen Konten in die Zielumgebung (dev) step-8---import-options-and-external-accounts-into-the-target-environment--dev-
Überprüfen Sie vor allem die Werte mehrerer Zeilen der Dateien, bevor Sie importieren (z. B. 'NmsTracking_Pointer' für die Optionstabelle und die Versand- oder Mid-Sourcing-Konten für die externe Kontotabelle).
So importieren Sie die Konfiguration aus der Zielumgebungsdatenbank (dev):
-
Öffnen Sie die Admin Console der Datenbank und bereinigen Sie die externen Konten (Tabelle nms:extAccount), deren Kennung nicht 0 (@id <> 0) ist.
-
Importieren Sie in der Adobe Campaign-Konsole das Package options_dev.xml , das Sie zuvor über die Package-Import-Funktion erstellt haben.
Überprüfen Sie, ob die Optionen tatsächlich im Knoten Administration > Plattform > Optionen aktualisiert wurden.
-
Importieren Sie in der Adobe Campaign-Konsole die zuvor über die Import-Paketfunktion erstellte Datei "extaccount_dev.xml"
Überprüfen Sie, ob externe Datenbanken tatsächlich in den Ordner Administration > Plattform > Externe Konten importiert wurden.
Schritt 9: Alle Prozesse neu starten und Benutzer ändern (dev) step-9---restart-all-processes-and-change-users--dev-
Verwenden Sie die folgenden Befehle, um die Adobe Campaign-Prozesse zu starten:
-
Windows:
code language-none net start nlserver6
-
Unter Linux:
code language-none /etc/init.d/nlserver6 start
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob die Prozesse gestartet wurden:
nlserver pdump
Ändern Sie Benutzer, um die Benutzer zu finden, die bereits auf der Entwicklungsplattform vorhanden waren.