JettyでBuildVuをデプロイする
開始する前に、WARファイルが必要です。ダウンロードするか、自分でビルドしてください。
このWARファイルは、BuildVuサービスを動作させるために必須です。
buildvu-microservice.war ファイルをダウンロードしてください。
トライアルユーザーは、トライアル登録 後、DockerセクションでWARファイルのダウンロードができます。
BuildVu Microservice Exampleプロジェクトのコピーをビルドします。
手順はGitHubページ
にあります。
- Jetty 10 の最新版をダウンロードしてインストールしてください(注意:Jetty 11以降はJakartaへの移行により対応していません)。
- Jettyのホームディレクトリに対してJETTY_HOMEという新しい環境変数を作成します。
- Jetty baseコンテンツを保持するディレクトリを作成し、そのディレクトリに移動します。
- 次のコマンドを使用して必要なモジュールを設定します。
java -jar JETTY_HOME/start.jar --add-module=server,http,deploy,jsp - WARファイルをJetty baseディレクトリに作成された
webappsフォルダに移動します。
WARファイルの名前がWebアプリのベースになります。例えば、Webサーバーがlocalhost:8080でホストされている場合、buildvu-microservice.warはlocalhost:8080/buildvu-microserviceにデプロイされます。 - Jettyサーバーを起動し、ブラウザで管理コンソールに移動します。
java -jar start.jarを実行すると、サーバーがlocalhost:8080で起動します。
Webアプリが正常にデプロイされたかどうかは、ブラウザでそのURLに移動して確認できます。中央にBuildVu Microservice Exampleと書かれた白い空白ページが表示されるはずです。
BuildVu Microservice ExampleはREST APIを使用して操作できます(詳細はGitHubページ を参照してください)。
特定の言語については、チュートリアル を参照してください。
場合によっては、プログラムの状態をデータベースなどに外部保存したい場合があります。例えば、サーバー障害時にプログラムの状態を保持したい場合などです。
これを行うには、Jetty上でデータソースを作成し、そのJNDI名をマイクロサービスの設定に追加 する必要があります。
まず、データソースとして使用できるようにデータベースドライバのjarを$JETTY_HOME/lib/extにインストールする必要があります。
ドライバを読み込んでサーブレットで使用できるようにするには、extとplusモジュールを指定してJettyサーバーを起動する必要があります。
- plusは、JNDIを動作させるロジック(マイクロサービスがデータソースを見つけるための機能)が含まれているため必要です
- extは、
$JETTY_HOME/lib/ext内のすべてのjarをクラスパスに読み込むため、Jettyがデータベースドライバを見つけられるようになります。
これらは、Jetty実行時のコマンドライン引数として
--add-module=plus,ext
を追加することで有効化できます。
$JETTY_HOME/etc/jetty.xmlを開き、ファイルの最下部(Configureタグの内部)に移動して、以下を追加します:
<New id="ID" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="wac"/></Arg>
<Arg>JNDI_NAME</Arg>
<Arg>
<New class="DATASOURCE_CLASS">
<Set name="url">JDBC_URL</Set>
</New>
</Arg>
</New>
JNDI_NAMEは、設定ファイルに記述する JNDI名です。通常、jdbc/で始まります。例:jdbc/myDatabase
JDBC_URLは、データベースにアクセスするために使用されるURLです。データベースドライバjarのドキュメントで、どのような形式にする必要があるかを確認できます。SQLite の場合、jdbc:sqlite:/PATH/ON/DISK.dbとなります。
DATASOURCE_CLASSは、データベースドライバjar内のドライバのDatasourceクラスの完全修飾クラス名です。これもデータベースドライバjarのドキュメントで確認できます。SQLite の場合、org.sqlite.SQLiteDataSourceとなります。
この
<New class="DATASOURCE_CLASS">要素には、ドライバを設定するための追加の<Set>要素を含めることもできます。これらにはユーザー名やパスワードなどのパラメータを含めることができます。これらはドライバに依存するため、データベースドライバのドキュメントで利用可能なオプションを確認してください。
最後に、前のステップで設定したリソース名をマイクロサービスの設定に追加 します。
