5

marklogic を使用してドキュメントを保存する新しいプロジェクトを開始しました。アプリを実行するには、データベース、フォレスト、新しいユーザーを作成し、XDBC サーバーをセットアップする必要があります。Marklogic が提供する Web 管理ツールから実行するのは非常に簡単ですが、継続的インテグレーション サーバーから実行するには自動化する必要があります。コマンドラインからそれを行う方法はありますか(sqlserverのsqlcmd.exeやoracleのsql plusなど)??

4

2 に答える 2

5

MarkLogic 5.x を使用している限り、最も簡単なのは Configuration Manager を使用することです。この Web ベースのツールを使用すると、DB とアプリ サーバーの構成全体を、バージョン管理可能な単一の xml ファイルにエクスポートできます。また、MarkLogic インスタンスを完全にセットアップまたは再構成するためにインポートすることもできます。

これを継続的インテグレーションの一部として使用するには、構成のインポートをスクリプト化する必要があります。http://community.marklogic.com/pubs/5.0/apidocs/package-api.htmlのドキュメントのように、構成 API を呼び出して読み込みを行うエンドポイントを持つ http サーバーを作成できます。この https ベースのサービスは、ANT またはその他の CI ツールを介して簡単に呼び出すことができます。

または、特にまだ 5.x で実行していない場合は、構成パッケージを使用する代わりにプロセス全体をスクリプト化できます。すべての管理タスクは、http: //community.marklogic.com/pubs/5.0/books/adminAPI.pdfに記載されています。次に、データベース、アプリ サーバーなどを構成するために必要なすべてのコードを記述し、上記のように http サーバー経由で公開する必要があります。

于 2012-04-08T14:39:59.800 に答える
1

Clark Richey の助けのおかげで、MarkLogic サーバー 5.x の構成を自動化する方法を見つけることができたかもしれません (決して簡単ではありませんが)。

たとえば、xdbc サーバーの作成を自動化したい場合は、手動で構成された xdbc サーバーが存在するインスタンスのクエリ コンソールに移動します。次の xquery を使用して、xdbc サーバーのパッケージ ファイルを生成します (私の場合は sample-server と呼ばれます)。 )。

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

let $my-package := package:create()

返却パッケージ:add-appserver($my-package, "Default", "sample-server")

xdbc サーバーの作成と構成に必要なすべての情報を含むパッケージ xml が表示されます。これをファイルまたはクリップボードに保存します。次に、構成する marklogic インスタンスのクエリ コンソールに移動します。次の xquery を使用して、実際にインスタンスにインストールします。

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

let $package := {ファイル/クリップボードに保存したパッケージ xml を貼り付けます step1}

返却パッケージ:install($package)

これで、パッケージが書き込まれたことを示す xml の結果が得られます。

次に、CI 環境でこれを自動化するためのすべての重要なステップについて説明します。ファイル システムから構成ファイルを読み取り、XCC を使用して ML に接続するカスタム ant/nant タスク (または、私の特定のケースでは powershell コマンドレット) を作成します (データベースやアプリケーション サーバーの作成などで必要になるため、管理者資格情報)。 ) を実行し、上で定義したものとまったく同じ xquery を実行します。その後、ソース管理で構成ファイルのバージョン管理を行うことができます。これにより、ML の新規インストール時に手動で介入することなく、データベースの作成/構成を自動化できます。それを行う他のより良い方法はありますか??

于 2012-04-09T19:56:15.630 に答える