Duplicazione di ambienti duplicating-environments
Introduzione introduction
Panoramica overview
L’utilizzo di Adobe Campaign richiede l’installazione e la configurazione di uno o più ambienti: sviluppo, test, preproduzione, produzione, ecc.
Ogni ambiente contiene un’istanza di Adobe Campaign e ogni istanza di Adobe Campaign è collegata a uno o più database. Il server applicazioni può eseguire uno o più processi: quasi tutti hanno accesso diretto al database delle istanze.
Questa sezione descrive i processi da applicare per duplicare un ambiente Adobe Campaign, ovvero per ripristinare un ambiente di origine in un ambiente di destinazione, creando due ambienti di lavoro identici.
A questo scopo, esegui i seguenti passaggi:
-
Creare una copia dei database in tutte le istanze dell'ambiente di origine.
-
Ripristinare queste copie in tutte le istanze dell'ambiente di destinazione.
-
Eseguire lo script di cauterizzazione nms:freezeInstance.js nell'ambiente di destinazione prima di avviarlo.
Questo processo non influisce sui server e sulla loro configurazione.
note note NOTE Nel contesto di Adobe Campaign, una cauterizzazione combina azioni che ti consentono di interrompere tutti i processi che interagiscono con l'esterno: registri, tracciamento, consegne, flussi di lavoro delle campagne, ecc.
Questo passaggio è necessario per evitare di inviare messaggi più volte (una volta dall’ambiente nominale e una dall’ambiente duplicato).note important IMPORTANT Un ambiente può contenere diverse istanze. Ogni istanza di Adobe Campaign è soggetta a un contratto di licenza. Controlla il contratto di licenza per vedere quanti ambienti puoi avere.
La procedura seguente consente di trasferire un ambiente senza influire sul numero di ambienti e istanze installati.
Prima di iniziare before-you-start
Affinché questo processo funzioni, gli ambienti di origine e di destinazione devono avere lo stesso numero di istanze, lo stesso scopo (istanza di marketing, istanza di consegna) e configurazioni simili. La configurazione tecnica deve soddisfare i prerequisiti software. Gli stessi componenti devono essere installati in entrambi gli ambienti.
Implementazione implementation
Procedura di trasferimento transfer-procedure
Questa sezione ti aiuta a capire i passaggi necessari per trasferire un ambiente di origine a un ambiente di destinazione tramite un caso di studio: il nostro obiettivo è quello di ripristinare un ambiente di produzione (prod istanza) in un ambiente di sviluppo (dev istanza) per lavorare in un contesto che sia il più simile possibile alla piattaforma "live".
È necessario eseguire con molta attenzione i seguenti passaggi: alcuni processi potrebbero essere ancora in corso quando vengono copiati i database dell’ambiente di origine. La cauterizzazione (passaggio 3 di seguito) impedisce l’invio doppio dei messaggi e mantiene la coerenza dei dati.
- La procedura seguente è valida nel linguaggio PostgreSQL. Se il linguaggio SQL è diverso (ad Oracle), è necessario adattare le query SQL.
- I comandi riportati di seguito vengono applicati nel contesto di un'istanza prod e di un'istanza dev in PostgreSQL.
Passaggio 1: eseguire un backup dei dati dell’ambiente di origine (prod) step-1---make-a-backup-of-the-source-environment--prod--data
Copiare i database
Iniziare copiando tutti i database dell'ambiente di origine. L'operazione dipende dal motore del database ed è responsabilità dell'amministratore del database.
In PostgreSQL, il comando è:
pg_dump mydatabase > mydatabase.sql
Passaggio 2: esportare la configurazione dell’ambiente di destinazione (dev) step-2---export-the-target-environment-configuration--dev-
La maggior parte degli elementi di configurazione sono diversi per ciascun ambiente: account esterni (mid-sourcing, routing, ecc.), opzioni tecniche (nome piattaforma, DatabaseId, indirizzi e-mail e URL predefiniti, ecc.).
Prima di salvare il database di origine nel database di destinazione, è necessario esportare la configurazione dell'ambiente di destinazione (dev). A tale scopo, esportare il contenuto delle due tabelle seguenti: xtkoption e nmsextaccount.
Questa esportazione consente di mantenere la configurazione di sviluppo e di aggiornare solo i dati di sviluppo (flussi di lavoro, modelli, applicazioni web, destinatari, ecc.).
A questo scopo, esegui un’esportazione del pacchetto per i due elementi seguenti:
- Esportare la tabella xtk:option in un file 'options_dev.xml', senza i record con i seguenti nomi interni: 'WdbcTimeZone', 'NmsServer_LastPostUpgrade' e 'NmsBroadcast_RegexRules'.
- In un file 'extaccount_dev.xml', esportare la tabella nms:extAccount per tutti i record con ID diverso da 0 (@id <> 0).
Verifica che il numero di opzioni/conti esportati sia uguale al numero di righe da esportare in ciascun file.
Passaggio 3: arrestare l’ambiente di destinazione (dev) step-3---stop-the-target-environment--dev-
È necessario interrompere i processi di Adobe Campaign su tutti i server dell’ambiente di destinazione. Questa operazione dipende dal sistema operativo.
È possibile arrestare tutti i processi o solo quelli che scrivono nel database.
Per arrestare tutti i processi, utilizzare i seguenti comandi:
-
In Windows:
code language-none net stop nlserver6
-
In Linux:
code language-none /etc/init.d/nlserver6 stop
Utilizzare il comando seguente per verificare che tutti i processi siano stati interrotti:
nlserver pdump
È inoltre possibile verificare che non siano ancora in esecuzione processi di sistema.
A questo scopo, utilizza il seguente processo:
- In Windows: aprire Gestione attività e verificare che non siano presenti processi nlserver.exe.
- In Linux: esegui ps aux | comando grep nlserver e verifica che non siano presenti processi nlserver.
Passaggio 4: ripristinare i database nell'ambiente di destinazione (dev) step-4---restore-the-databases-in-the-target-environment--dev-
Per ripristinare i database di origine nell'ambiente di destinazione, utilizzare il comando seguente:
psql mydatabase < mydatabase.sql
Passaggio 5: cauterizzare l’ambiente di destinazione (dev) step-5---cauterize-the-target-environment--dev-
Per evitare malfunzionamenti, i processi collegati all’invio della consegna e all’esecuzione del flusso di lavoro non devono essere eseguiti automaticamente quando l’ambiente di destinazione è attivato.
A tale scopo, eseguire il comando seguente:
nlserver javascript nms:freezeInstance.js -instance:<dev> -arg:run
Passaggio 6 - Controllare la cauterizzazione step-6---check-cauterization
-
Verifica che l’unica parte di consegna sia quella il cui ID è impostato su 0:
code language-none SELECT * FROM neolane.nmsdeliverypart;
-
Verifica che l’aggiornamento dello stato della consegna sia corretto:
code language-none SELECT iState, count(*) FROM neolane.nmsdelivery GROUP BY iState;
-
Verifica che l’aggiornamento dello stato del flusso di lavoro sia corretto:
code language-none SELECT iState, count(*) FROM neolane.xtkworkflow GROUP BY iState; SELECT iStatus, count(*) FROM neolane.xtkworkflow GROUP BY iStatus;
Passaggio 7: riavviare il processo Web dell'ambiente di destinazione (dev) step-7---restart-the-target-environment-web-process--dev-
Nell’ambiente di destinazione, riavvia i processi di Adobe Campaign per tutti i server.
Eseguire il comando seguente per avviare il processo Web:
nlserver start web
Utilizza il comando seguente per verificare che sia stato avviato solo il processo web:
nlserver pdump
Verifica che l’accesso alle funzioni della console client sia corretto.
Passaggio 8: importare opzioni e account esterni nell’ambiente di destinazione (dev) step-8---import-options-and-external-accounts-into-the-target-environment--dev-
Soprattutto, controlla i valori di diverse righe dei file prima di importarli (ad esempio: "NmsTracking_Pointer" per la tabella delle opzioni e i conti di consegna o di mid-sourcing per la tabella dei conti esterni)
Per importare la configurazione dal database dell’ambiente di destinazione (dev):
-
Apri Admin Console del database ed elimina gli account esterni (tabella nms:extAccount) il cui ID non è 0 (@id <> 0).
-
Nella console Adobe Campaign, importa il pacchetto options_dev.xml creato in precedenza tramite la funzionalità di importazione del pacchetto.
Verificare che le opzioni siano state effettivamente aggiornate nel nodo Administration > Platform > Options.
-
Nella console Adobe Campaign, importa il file extaccount_dev.xml creato in precedenza tramite la funzionalità di importazione dei pacchetti
Verificare che i database esterni siano stati effettivamente importati in Administration > Platform > External accounts.
Passaggio 9: riavviare tutti i processi e modificare gli utenti (dev) step-9---restart-all-processes-and-change-users--dev-
Per avviare i processi di Adobe Campaign, utilizza i seguenti comandi:
-
In Windows:
code language-none net start nlserver6
-
In Linux:
code language-none /etc/init.d/nlserver6 start
Utilizza il seguente comando per verificare che i processi siano avviati:
nlserver pdump
Cambia gli utenti per trovare gli utenti che già esistevano sulla piattaforma di sviluppo.