第2章 Spring Boot アプリケーションでの Dekorate の使用

Dekorate を使用して、アプリケーションマニフェストファイルを自動的に生成し、OpenShift へのデプロイメントのためにアプリケーションを設定します。

2.1. Dekorate の概要

Dekorate は、コンパイル時のアノテーションプロセッサーおよび Red Hat ビルドの Spring Boot で提供されるアプリケーションリソースジェネレーターのコレクションです。これは、アプリケーションをビルドして設定プロパティーを抽出する際に、コードでアノテーションを解析することで機能します。次に、Dekorate は、展開したプロパティーの値を使用して、アプリケーションを Kubernetes または OpenShift クラスターにデプロイするために使用できるアプリケーション設定リソースを生成します。

開発者は、コードにアノテーションを付けた後に Dekorate を使用してアプリケーションのビルド時にアプリケーションマニフェストを自動的に生成できます。これにより、アプリケーションをデプロイするためのリソースファイルを手動で作成する必要がなくなります。アプリケーションが、Spring Boot などのリッチアプリケーションのランタイムフレームワークに基づいていると、Spring Boot、Dokorate はフレームワークと直接統合でき、フレームワークによって提供される API から設定パラメーターを抽出できるため、コードにアノテーションを付ける必要がなくなります。Dekorate は、以下を使用してアプリケーションを自動的に設定できます。

  • マニフェストファイルの設定に使用される値およびメタデータを取得するためにアプリケーションコードで Dekorate 固有のアノテーションを解析します。
  • application.propertiesapplication.yaml などの設定リソースから情報の抽出
  • リッチアプリケーションフレームワークから必要なメタデータを取得し、application.properties ファイルまたは application.yml ファイルから設定値を展開します。

アプリケーションのリソース定義を生成するほか、Deskrate はフックを提供し、OpenShift クラスターの Dekorate でアプリケーションをビルドおよびデプロイできます。また、アプリケーションを作成する言語とは独立して機能し、幅広いビルドシステムで使用できます。Dekorate は、Maven BOM として配布されるライブラリーのセットで構成されます。ライブラリーをアプリケーションプロジェクトの依存関係として追加し、アプリケーションと Dekorate を使用することができます。

Red Hat は Dekorate を使用して、Spring Boot をベースとする Java アプリケーションを OpenShift Container Platform にデプロイするのに使用できるリソースファイルとフックの生成をサポートします。

2.1.1. 関連情報