Como migrar um espaço de trabalho, armazenamento e camada específicos no Geoserver

13

O Geoserver está sendo executado em um ambiente de desenvolvimento e produção. Gostaria de migrar apenas um espaço de trabalho, loja, camada, estilo, etc. do desenvolvimento para a produção. Como posso fazer isso?

Eu sei que posso copiar todo o diretório de dados para produção e reiniciar o servidor geográfico; mas todos os espaços de trabalho, lojas etc. são migrados. O ponto é que eu quero apenas um espaço de trabalho, loja etc.

No ambiente de desenvolvimento, tenho várias áreas de trabalho de teste, armazenamento e camadas, que não quero na produção.

No diretório de dados, vejo um diretório gwc-layers, com muitos arquivos xml. Mas como eu sei qual xml é qual camada?

Stefan
fonte

Respostas:

13

Isso é bastante simples de fazer e há pouco risco. Mas certifique-se de ter um backup do diretório de dados de produção de qualquer maneira.

Basta copiar os seguintes diretórios / arquivos:

/workspaces/YOUR_WORKSPACE_NAME/ O diretório da área de trabalho que você copia realmente contém as declarações de armazenamento e camada , bem como a própria área de trabalho. Idealmente, em sua configuração, você manterá as camadas "destinadas à produção" e "testando" em espaços de trabalho separados, o que facilitará isso no futuro.

/layergroups/your_layer_group.xml - Se você possui um grupo de camadas que deseja copiar.

styles\stylename.sld- styles\stylename.xml- Este é o potencialmente complicado; se você renomeou seu estilo desde que o criou, o nome XML e o nome SLD não serão os mesmos. O XML será o nome atual, o nome do SLD será o que era quando você o criou originalmente. Você pode verificar o XML para ver qual arquivo SLD está fazendo referência.

Depois de tudo copiado, reinicie o GeoServer.

Usando esse método, eu já havia transferido manualmente dezenas de camadas e mais de 200 estilos com pouca dificuldade.

GIS-Jonathan
fonte
2
ainda outro truque, se a migração de datastores e camadas não funcionar, basta esvaziar a tag da senha no datastore.xml em cada pasta do datastore, tive um bug ao migrar do 2.8 para o 2.9, devido a um problema no hash das senhas.
geogeek
Eu tive que reaplicar o estilo padrão para camadas que não tinham um estilo personalizado, mas não encontrei outros problemas.
Stijn
@geogeek também é possível substituir as strings como crypt2:YOUR_ENCRYPTED_PASSWORD_HEREpor plain:YOUR_PASSWORD_HERE. Isso geralmente não é recomendado, mas pode ser útil para testes e experiências.
SeldomNeedy 11/11/19
Eu apliquei a mesma instrução com o geoserver 2.15, posso ver o espaço de trabalho e as lojas, mas as camadas não estão chegando? O que estou fazendo de errado?
Ncelik 13/12/19
Como acompanhamento, adicionar o plain:prefixo em um arquivo "datastore.xml" informará o Geoserver para manter a senha simples. Se não houver prefixo (apenas a senha), o Geoserver realmente ocultará a senha no arquivo quando as configurações forem salvas em seguida. Eu não tenho certeza o que acontece neste caso, se a senha em si tem um :(cólon) nele
SeldomNeedy