2012-04-08 1 views
5

marklogic을 사용하여 문서를 저장하는 새 프로젝트를 시작했습니다. 응용 프로그램을 실행하려면 데이터베이스, 포리스트, 새 사용자를 만들고 XDBC 서버를 설정해야합니다. Marklogic이 제공하는 웹 관리 도구에서이를 수행하는 것이 매우 쉽지만 자동화 할 필요가있는 지속적인 통합 서버에서 실행하는 것은 매우 쉽습니다. 커맨드 라인에서 sqlcmd.exe (or sqlserver or sql plus oracle)와 같은 방법으로 그것을 할 수 있습니까?스크립트에서 marklogic으로 데이터베이스를 작성하는 방법

답변

5

MarkLogic 5.x를 사용하는 한 가장 쉬운 방법은 구성 관리자를 사용하는 것입니다. 이 웹 기반 도구를 사용하면 전체 DB 및 응용 프로그램 서버 구성을 버전 관리가 가능한 단일 XML 파일로 내보낼 수 있습니다. 또한 MarkLogic 인스턴스를 완전히 설정하거나 다시 구성하기 위해 가져올 수 있습니다.

연속 통합의 일부로이를 사용하려면 구성 가져 오기를 스크립팅해야합니다. 로드를 수행하기 위해 구성 API를 호출하는 하나의 엔드 포인트가있는 http 서버를 작성할 수 있습니다 (여기에는 문서 번호 http://community.marklogic.com/pubs/5.0/apidocs/package-api.html). 이 https 기반 서비스는 ANT 또는 다른 CI 도구를 통해 쉽게 호출 할 수 있습니다.

5.x를 아직 실행하지 않은 경우 특히 구성 패키지를 사용하는 대신 전체 프로세스를 스크립팅 할 수 있습니다. 모든 관리 작업은 여기에 문서화되어 있습니다 : http://community.marklogic.com/pubs/5.0/books/adminAPI.pdf. 그런 다음 데이터베이스, 응용 프로그램 서버 등을 구성하고 위에 설명 된대로 http 서버를 통해 노출시키는 데 필요한 모든 코드를 작성해야합니다.

+0

링크를 제공해 주셔서 감사합니다. 5.x를 사용하고 있습니다. 시작을 위해 XML로 애플 리케이션 서버를 가져 오려고했는데 패키지 XML을 얻었다. 다음 단계는 패키지를 실제로 설치하는 것입니다. 나는 package : install (fn : doc ("/ xdbcserver.xml"))을 사용했다. ..... 문제는 uri/xdbcserver.xml 파일이 데이터베이스에 존재해야한다는 것이다. 이것은 누군가가 수동으로 거기에 넣어야한다는 것을 의미합니다. 구성을 자동화하는 목적과는 모순됩니다. DB.Any 힌트에있는 기존의 문서보다는 클라이언트 파일 시스템에서 패키지를로드하는 기능을 원합니다. 다시 감사합니다. – uttamkini

1

클락 리치 (Clark Richey)의 도움 덕분에 MarkLogic 서버 5.x의 구성을 자동화하는 방법을 알았을 수도 있습니다 (간단하지는 않지만).

예를 들어, xdbc 서버 작성을 자동화하려면 수동으로 구성된 xdbc 서버가있는 인스턴스의 쿼리 콘솔로 이동하십시오. 다음 xquery를 사용하여 xdbc 서버용 패키지 파일을 생성하십시오 케이스 - 샘플 - 서버).

import module namespace package = "http://marklogic.com/package/package"at "/MarkLogic/package/package.xqy";

은 $ 내 패키지를 보자 = 패키지 :) (작성

반환 패키지

: (내 패키지, "기본", "샘플 서버"$)

추가 애플리케이션 서버 당신은 것 이제 xdbc 서버를 만들고 구성하는 데 필요한 모든 정보가 들어있는 패키지 xml이 표시됩니다. 파일이나 클립 보드에 저장하십시오. 이제 구성 할 marklogic 인스턴스의 쿼리 콘솔로 이동하십시오. 다음 xquery를 사용하여 인스턴스에 실제로 설치하십시오.

import module namespace package = "http://marklogic.com/package/package"at "/MarkLogic/package/package.xqy";

하자 $ 패키지 : = {당신이 파일에 저장된 패키지 XML/클립 보드의 1 단계를 붙여}

반환 패키지 : 설치 ($ 패키지)

당신은 지금이라는 XML 결과를 얻을 것이다 패키지가 작성된 것입니다.

이제 CI 환경에서이 작업을 자동화하는 모든 중요한 단계를 수행하십시오.필자는 파일 시스템에서 구성 파일을 읽는 사용자 지정 ant/nant 작업 (또는 필자의 경우 powershell cmdlet)을 작성하고 데이터베이스 및 응용 프로그램 서버 작성과 같은 작업에 필요한 XCC 및 관리자 자격 증명을 사용하여 ML에 연결합니다.) 그리고 위에서 정의한 것과 똑같은 xquery를 실행한다. 그런 다음 소스 제어에서 구성 파일을 버전 제어하여 수동 개입없이 새로운 ML 설치시 데이터베이스 작성/구성을 자동화 할 수 있습니다. 그것을하는 다른 어떤 더 나은 방법 ??

+0

아시다시피, MarkLogic에 대한 ant tak가 github에 있습니다. http : // developer .marklogic.com/code/ant-tasks – derickson

+3

구성 관리 응용 프로그램은 패키징 REST 인터페이스도 제공합니다. 설치를 위해 패키지를 POST하기위한 URL이 있습니다. 자세한 내용은 다음 페이지를 참조하십시오. http://community.marklogic.com/pubs/5.0/apidocs/packageREST.html – grtjn

관련 문제