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?

Stefan
sumber

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.

GIS-Jonathan
sumber
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