Cara memigrasi ruang kerja, toko, dan lapisan tertentu di Geoserver


13

Geoserver berjalan di lingkungan pengembangan dan produksi. Saya ingin bermigrasi hanya satu ruang kerja, toko, lapisan, gaya, dll dari pengembangan ke produksi. Bagaimana saya bisa melakukan ini?

Saya tahu saya bisa menyalin seluruh data-dir ke produksi dan me-restart geoserver; tetapi semua ruang kerja, toko, dll dimigrasikan. Intinya saya ingin hanya satu ruang kerja, toko, dll.

Dalam lingkungan pengembangan saya memiliki beberapa ruang kerja pengujian, toko, dan lapisan, yang tidak saya inginkan pada produksi.

Di dir-data saya melihat direktori gwc-layers, dengan banyak file xml. Tetapi bagaimana saya tahu xml mana yang merupakan lapisan?

Jawaban:


13

Ini cukup mudah dilakukan dan ada sedikit risiko. Tetapi pastikan untuk memiliki cadangan direktori data produksi Anda.

Cukup salin direktori / file berikut:

/workspaces/YOUR_WORKSPACE_NAME/ Direktori ruang kerja yang Anda salin sebenarnya berisi pernyataan toko dan lapisan serta ruang kerja itu sendiri. Idealnya dalam pengaturan Anda, Anda akan menjaga lapisan "ditakdirkan untuk produksi" dan "pengujian" di ruang kerja yang terpisah, yang akan membuat ini sangat mudah di masa depan.

/layergroups/your_layer_group.xml - Jika Anda memiliki layergroup yang ingin Anda salin.

styles\stylename.sld- styles\stylename.xml- Ini yang berpotensi rumit; jika Anda telah mengganti nama gaya Anda sejak Anda membuatnya, nama XML dan nama SLD tidak akan sama. XML akan menjadi nama saat ini, nama SLD akan menjadi apa pun itu ketika Anda awalnya membuatnya. Anda dapat melihat XML untuk melihat file SLD apa yang dirujuk.

Setelah semuanya disalin, mulai ulang GeoServer.

Dengan menggunakan metode ini, saya sebelumnya secara manual telah mentransfer puluhan layer dan 200+ gaya dengan sedikit kesulitan.


2
Namun trik lain jika migrasi datastore dan layer tidak berfungsi, cukup kosongkan tag kata sandi di datastore.xml di setiap folder datastore, saya memiliki bug saat bermigrasi dari 2,8 menjadi 2,9, karena masalah dalam hash kata sandi.
geogeek

Saya harus menerapkan kembali gaya default untuk lapisan yang tidak memiliki gaya khusus, tapi saya tidak menemukan masalah lain.
Stijn

@geogeek juga mungkin untuk mengganti string seperti crypt2:YOUR_ENCRYPTED_PASSWORD_HEREdengan plain:YOUR_PASSWORD_HERE. Ini umumnya tidak disarankan tetapi dapat bermanfaat untuk pengujian dan percobaan.
SeldomNeedy

Saya telah menerapkan instruksi yang sama dengan geoserver 2.15, saya bisa melihat ruang kerja dan toko tetapi lapisan tidak datang? Apa yang saya lakukan salah?
ncelik

Sebagai tindak lanjut, menambahkan plain:awalan di "datastore.xml" -file akan memberi tahu Geoserver untuk menjaga kata sandi tetap jelas. Jika tidak ada awalan (hanya kata sandi itu sendiri), Geoserver sebenarnya akan mengaburkan kata sandi dalam file ketika pengaturan selanjutnya disimpan. Saya tidak yakin apa yang terjadi dalam kasus ini jika kata sandi itu sendiri memiliki :(titik dua) di dalamnya
SeldomNeedy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.