Geoserver에서 특정 작업 공간, 저장 및 레이어를 마이그레이션하는 방법


13

Geoserver는 개발 및 프로덕션 환경에서 실행되고 있습니다. 하나의 작업 공간, 상점, 레이어, 스타일 등을 개발에서 프로덕션으로 마이그레이션하고 싶습니다. 어떻게해야합니까?

전체 데이터 디렉토리를 프로덕션으로 복사하고 지오 서버를 다시 시작할 수 있다는 것을 알고 있습니다. 그러나 모든 작업 공간, 상점 등이 마이그레이션됩니다. 요점은 하나의 작업 공간, 상점 등을 원한다는 것입니다.

개발 환경에는 프로덕션 환경에서 원하지 않는 여러 테스트 작업 영역, 저장소 및 계층이 있습니다.

data-dir에는 많은 xml 파일이있는 디렉토리 gwc-layers가 있습니다. 그러나 어떤 XML이 어떤 계층인지 어떻게 알 수 있습니까?

답변:


13

이 작업은 매우 간단하며 위험이 거의 없습니다. 그러나 어쨌든 프로덕션 데이터 디렉토리의 백업이 있어야합니다.

다음 디렉토리 / 파일을 복사하십시오.

/workspaces/YOUR_WORKSPACE_NAME/ 복사 한 작업 공간 디렉토리에는 실제로 작업 공간 자체뿐만 아니라 상점계층 선언도 포함됩니다. 이상적으로는 설치 환경에서 "제작 대상"및 "테스트"계층을 별도의 작업 공간에 보관하면 나중에이 작업을 쉽게 수행 할 수 있습니다.

/layergroups/your_layer_group.xml -레이어 그룹이 있다면 복사하고 싶습니다.

styles\stylename.sld-- styles\stylename.xml이것은 잠재적으로 까다로운 것입니다. 스타일을 만든 이후로 이름을 바꾸면 XML 이름과 SLD 이름이 동일하지 않습니다. XML은 현재 이름이되고 SLD 이름은 처음에 생성 한 이름이됩니다. XML을 조사하여 참조하는 SLD 파일을 확인할 수 있습니다.

모두 복사되면 GeoServer를 다시 시작하십시오.

이 방법을 사용하여 이전에는 수십 개의 레이어와 200 개 이상의 스타일을 거의 문제없이 수동으로 전송했습니다.


2
데이터 저장소와 레이어의 마이그레이션이 작동하지 않으면 또 다른 트릭은 각 데이터 저장소 폴더의 datastore.xml에서 암호 태그를 비우십시오. 암호 해시 문제로 인해 2.8에서 2.9로 마이그레이션 할 때 버그가 발생했습니다.
geogeek

사용자 정의 스타일이없는 레이어에 기본 스타일을 다시 적용해야했지만 다른 문제는 발생하지 않았습니다.
Stijn

@geogeek이 같은 문자열을 대체 할 수도 있습니다 crypt2:YOUR_ENCRYPTED_PASSWORD_HEREplain:YOUR_PASSWORD_HERE. 일반적으로 권장되지는 않지만 테스트 및 실험에 유용 할 수 있습니다.
SeldomNeedy

geoserver 2.15와 동일한 지침을 적용했는데 작업 공간과 상점을 볼 수 있지만 레이어가 나오지 않습니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까?
ncelik

후속 조치 plain:로 "datastore.xml"파일에 접두사를 추가하면 Geoserver가 비밀번호를 평범 하게 유지 하도록 지시합니다 . 접두사가없는 경우 (비밀번호 만) Geoserver는 다음에 설정을 저장할 때 파일에서 실제로 비밀번호를 난독 처리합니다. 암호 자체에 :(콜론) 이 있으면이 경우 어떻게되는지 잘 모르겠습니다.
SeldomNeedy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.