Come migrare uno specifico spazio di lavoro, archiviare e layer in Geoserver


13

Geoserver è in esecuzione su un ambiente di sviluppo e produzione. Vorrei migrare solo uno spazio di lavoro, negozio, livello, stile, ecc. Dallo sviluppo alla produzione. Come posso fare questo?

So di poter copiare l'intero data-dir in produzione e riavviare il geoserver; ma di tutte le aree di lavoro, negozi, ecc. vengono migrati. Il punto è che voglio solo uno spazio di lavoro, un negozio, ecc.

Nell'ambiente di sviluppo ho diversi spazi di lavoro di test, negozio e livelli, che non voglio sulla produzione.

Nella directory dei dati vedo una directory gwc-layers, con molti file xml. Ma come faccio a sapere quale XML è quale layer?

Risposte:


13

Questo è abbastanza semplice da fare e c'è poco rischio. Assicurati comunque di avere un backup della tua directory dei dati di produzione.

Basta copiare le seguenti directory / file:

/workspaces/YOUR_WORKSPACE_NAME/ La directory dell'area di lavoro su cui copi in realtà contiene le dichiarazioni dello store e del layer , nonché l'area di lavoro stessa. Idealmente nella tua configurazione manterrai i livelli "destinati alla produzione" e "test" in aree di lavoro separate, il che lo renderà davvero facile in futuro.

/layergroups/your_layer_group.xml - Se hai un gruppo di livelli che vuoi copiare.

styles\stylename.sld- styles\stylename.xml- Questo è potenzialmente complicato; se hai rinominato il tuo stile da quando lo hai creato, il nome XML e il nome SLD non saranno gli stessi. L'XML sarà il nome corrente, il nome SLD sarà quello che era quando lo hai creato originariamente. Puoi esaminare l'XML per vedere a quale file SLD fa riferimento.

Una volta copiato tutto, riavvia GeoServer.

Usando questo metodo ho precedentemente trasferito manualmente dozzine di livelli e oltre 200 stili con pochi problemi.


2
ancora un altro trucco se la migrazione di datastore e layer non funziona, basta svuotare il tag password in datastore.xml in ogni cartella del datastore, ho avuto un bug durante la migrazione da 2.8 a 2.9, a causa di un problema nell'hash delle password.
geogeek,

Ho dovuto riapplicare lo stile predefinito per i layer che non avevano uno stile personalizzato, ma non ho riscontrato altri problemi.
Stijn,

@geogeek è anche possibile sostituire le stringhe come crypt2:YOUR_ENCRYPTED_PASSWORD_HEREcon plain:YOUR_PASSWORD_HERE. Questo non è generalmente raccomandato, ma può essere utile per test ed esperimenti.
SeldomNeedy,

Ho applicato le stesse istruzioni con geoserver 2.15, posso vedere lo spazio di lavoro e i negozi ma i livelli non arrivano? Che cosa sto facendo di sbagliato?
ncelik,

Come follow-up, l'aggiunta del plain:prefisso in un file "datastore.xml" dirà a Geoserver di mantenere semplice la password. Se non esiste un prefisso (solo la password stessa), Geoserver in realtà offuscherà la password nel file al successivo salvataggio delle impostazioni. Non sono sicuro di cosa accadrà in questo caso se la password stessa contiene :(due punti) al suo interno
SeldomNeedy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.