マイクロサービスクライアント拡張プロジェクトの展開と管理
Kyleは、 マイクロサービスのクライアント拡張 を使用して、ユーザーから提出されたフィードバックを追跡するためのカスタムアプリケーションの開発を始めたいと考えている。
Liferayのサンプルワークスペース から Spring Boot を使ってマイクロサービスクライアント拡張のサンプルを試すことから始めます。
サンプルワークスペースのダウンロード
クライアント拡張用のサンプル・ワークスペースをお使いのマシンにダウンロードし、解凍します:
curl -o com.liferay.sample.workspace-latest.zip https://repository.liferay.com/nexus/service/local/artifact/maven/content\?r\=liferay-public-releases\&g\=com.liferay.workspace\&a\=com.liferay.sample.workspace\&\v\=LATEST\&p\=zip
unzip com.liferay.sample.workspace-latest.zip
ワークスペースを解凍したら、 client-extensions/liferay-sample-etc-spring-boot/
フォルダを開いて先に進みます。
サンプルのSpring Bootプロジェクトを設定する
サンプルのSpring Bootプロジェクトでは、 application.properties
ファイルを使って、対象のLiferayインスタンスのドメインなど重要な値を登録しています。 デプロイする前にSpring Bootプロジェクトを設定する。
-
ダウンロードしたサンプルのSpring Bootプロジェクトで、
src/main/resources/application.properties
ファイルを開く。 -
com.liferay.lxc.dxp.domains
とcom.liferay.lxc.dxp.mainDomain
のプロパティを、UATサイトのドメインを使って追加する(例:uat.delectablebonsai.com
):com.liferay.lxc.dxp.domains=YOUR DOMAIN com.liferay.lxc.dxp.mainDomain=YOUR DOMAIN
-
https
プロトコル用のプロパティを追加する:com.liferay.lxc.dxp.server.protocol=https
これでプロジェクトはLXCインスタンス用に正しく設定され、デプロイする準備ができた。
プロジェクトのビルドとデプロイ
サンプルのSpring Bootプロジェクトのフォルダからプロジェクトをビルドし、LXCインスタンスにデプロイする。
-
このコマンドを実行すると、プロジェクトがデプロイ可能な クライアント拡張機能のパッケージ化 にビルドされます:
../../gradlew clean build
クライアント拡張との連携 で定義されているため)、デプロイに必要なすべてのコンポーネントを含むLUFFAを
dist/
フォルダに生成します。 -
CLIツールを使用して、ビルドされたLUFFAをデプロイします:
lcp deploy --extension dist/liferay-sample-etc-spring-boot.zip
プロンプトが表示されたら、UATクライアントの拡張環境に対応する番号を選択します。
クライアントエクステンションはUAT環境にデプロイされ、遅延後にクラウドコンソールに表示されます。 Readyステータスは、サービスコンテナが実行され、Spring Bootアプリケーションが起動すると表示される。
オブジェクトデータの追加
オブジェクト はLiferayのデータをクライアント拡張機能で永続化し、操作するための理想的な方法です。
デプロイしたプロジェクトの マイクロサービスのクライアント拡張 のいずれかを呼び出す アクション を持つオブジェクト定義を作成します。
オブジェクト定義の作成
-
UATのLiferayインスタンスにログインします。
-
アプリケーションメニュー ( ) → コントロールパネル → オブジェクト を開きます。
-
Objects(オブジェクト)ページで、 Add( )をクリックし、New Custom Object(新規カスタムオブジェクト)フォームに必要事項を記入する:
-
ラベル : フィードバック入力
-
Plural Label : フィードバック入力
-
オブジェクト名 :
FeedbackInput
-
-
[Save] をクリックします。
オブジェクト定義はドラフトとして作成されるが、オブジェクト・アクション・クライアント拡張を使用するには、フィールドとアクションが必要である。
ブール値フィールドの追加
-
Objects List の Feedback Input オブジェクト定義 をクリックして編集します。
-
Fields タブをクリックする。
-
Add( ) をクリックし、New Field フォームに記入する:
-
ラベル : 参考になりましたか?
-
フィールド名 :
役に立つ
-
タイプ : ブーリアン
-
-
[Save] をクリックします。
クライアント拡張機能を呼び出すアクションを追加し、公開する
-
Actions タブをクリックする。
-
Add( ) をクリックする。
-
アクションの基本情報フォームに記入する:
-
アクション・ラベル : 新しいフィードバック
-
アクション名 :
NewFeedback
-
-
アクションビルダー タブをクリックします。
-
Trigger ドロップダウンメニューで、 On After Add を選択する。
-
Actionドロップダウンメニューで、
object-action-executor[function#liferay-sample-etc-spring-boot-object-action-1]
を選択します。 -
[Save] をクリックします。
-
オブジェクト定義の Details タブに戻り、 Publish をクリックします。
これでオブジェクト定義がパブリッシュされ、それを使ってオブジェクト・データを送信できるようになった。
オブジェクト・データの提出
新しいオブジェクト定義を使ってフォームを追加し、オブジェクトのアクションをテストできるようにしましょう。
-
サイトのホームページに戻る。
-
ページ上部の Edit( ) をクリックします。
-
画面左側のフラグメントのリストで、 Form Container フラグメントをページにドラッグします。
-
Form Container のドロップダウンメニューで、新しい Feedback Input オブジェクト定義 を選択します。
-
ページ上部の Publish をクリックします。
このフォームは、"役に立ちましたか?"のチェックボックス1つとともにページに表示される。
- Submit ボタンをクリックしてください。
フォームを送信するとオブジェクトエントリーが作成され、デプロイしたオブジェクトアクションクライアントエクステンションが呼び出されます。
クラウド・コンソールで結果を調べる
オブジェクトアクションをトリガーしたので、Spring Bootアプリケーションのロギングをチェックして、呼び出しが成功したことを確認します。
-
クラウド・コンソールにログインし、UAT環境に移動します。
-
Services をクリックすると、デプロイされたマイクロサービスの全リストが表示されます。
-
liferaysampleetcspringboot
サービスを選択する。
サービスのページにはデフォルトでLogsタブが表示され、Spring BootアプリケーションのログがLiferayから送られてきたオブジェクトデータを出力しているのを見ることができます。
これで、オブジェクト・アクションが正常に動作しているのがわかるだろう。
マイクロサービスを削除する
カイルはこのオブジェクトアクションをカスタマイズしてみるつもりだが、何を追加するか考える間、このバージョンをUAT環境にデプロイする必要はない。
サンプルのマイクロサービスを使い終わったら、コンソールからサービスを削除してください。
-
サービスのページで、右上の Actions( ) をクリックし、 Delete Service をクリックします。
-
liferaysampleetcspringboot
と入力し、削除の影響を確認する。 -
Delete Service をクリックする。
クライアント拡張サービスを削除すると、オブジェクト定義のアクションへのリンクも切断されます。 通常は、現在使用していないオブジェクトアクションも削除しますが、今回は、次の練習のために再作成するステップを省くために、そのままにしておきます。
遅延の後、サービスは削除され、クラウド・コンソールから消えます。
これでサンプルのSpring BootアプリケーションのUATテストは成功です。
次ページ: コンソールでのトラブルシューティング.