Comment migrer un espace de travail, un stockage et une couche spécifiques dans Geoserver

13

Geoserver fonctionne sur un environnement de développement et de production. Je voudrais migrer un seul espace de travail, magasin, calque, style, etc. du développement à la production. Comment puis-je faire ceci?

Je sais que je peux copier l'intégralité du répertoire de données vers la production et redémarrer le géoserveur; mais que tous les espaces de travail, magasins, etc. sont migrés. Le fait est que je veux juste un espace de travail, un magasin, etc.

Dans l'environnement de développement, j'ai plusieurs espaces de travail de test, un magasin et des couches, dont je ne veux pas en production.

Dans le répertoire de données, je vois un répertoire gwc-couches, avec beaucoup de fichiers xml. Mais comment savoir quel xml est quelle couche?

Stefan
la source

Réponses:

13

C'est assez simple à faire et il y a peu de risques. Mais assurez-vous d'avoir une sauvegarde de votre répertoire de données de production de toute façon.

Copiez simplement les répertoires / fichiers suivants:

/workspaces/YOUR_WORKSPACE_NAME/ Le répertoire de l'espace de travail que vous copiez contient en fait les déclarations de magasin et de couche ainsi que l'espace de travail lui-même. Idéalement, dans votre configuration, vous conserverez les couches "destinées à la production" et "testées" dans des espaces de travail séparés, ce qui facilitera la tâche à l'avenir.

/layergroups/your_layer_group.xml - Si vous avez un groupe de calques que vous souhaitez copier.

styles\stylename.sld- styles\stylename.xml- Ceci est potentiellement délicat; si vous avez renommé votre style depuis que vous l'avez créé, le nom XML et le nom SLD ne seront pas les mêmes. Le XML sera le nom actuel, le nom SLD sera ce qu'il était lorsque vous l'avez créé à l'origine. Vous pouvez regarder dans le XML pour voir à quel fichier SLD il fait référence.

Une fois que tout est copié, redémarrez GeoServer.

En utilisant cette méthode, j'ai précédemment transféré manuellement des dizaines de calques et plus de 200 styles avec peu de problèmes.

SIG-Jonathan
la source
2
encore une autre astuce si la migration des banques de données et des couches ne fonctionne pas, videz simplement la balise de mot de passe dans datastore.xml dans chaque dossier de banque de données, j'ai eu un bogue lors de la migration de 2.8 à 2.9, en raison d'un problème dans le hachage des mots de passe.
geogeek
J'ai dû réappliquer le style par défaut pour les calques qui n'avaient pas de style personnalisé, mais je n'ai rencontré aucun autre problème.
Stijn
@geogeek, il est également possible de remplacer les chaînes comme crypt2:YOUR_ENCRYPTED_PASSWORD_HEREavec plain:YOUR_PASSWORD_HERE. Ceci n'est généralement pas recommandé mais peut être utile pour les tests et les expériences.
SeldomNeedy
J'ai appliqué la même instruction avec geoserver 2.15, je peux voir l'espace de travail et les magasins mais les couches ne viennent pas? Qu'est-ce que je fais mal?
ncelik
Par la suite, l'ajout du plain:préfixe dans un fichier "datastore.xml" indiquera à Geoserver de garder le mot de passe simple. S'il n'y a pas de préfixe (juste le mot de passe lui-même), Geoserver masquera réellement le mot de passe dans le fichier lors de la prochaine sauvegarde des paramètres. Je ne sais pas ce qui se passe dans ce cas si le mot de passe lui-même contient un :(deux-points)
SeldomNeedy