Client Extensions
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

パッケージングクライアント拡張機能

Liferay セルフホスト型 Liferay SaaS Liferay PaaS

Liferay DXP 7.4

クライアント拡張プロジェクトは、 Liferay Universal File Format Archives (LUFFAs) と呼ばれるデプロイ可能なアーカイブとして構築され、拡張子は .zip です。 各LUFFAは特定の構造を持ち、特定のコンポーネントファイルを定義しています。これらのファイルは、プロジェクトで提供されていない場合は自動的に生成されます。 Liferayワークスペースは、クライアント拡張プロジェクトをビルドする際にパッケージ化します。 パッケージングがどのように機能するかを理解することは、クライアントのエクステンションを組み立てたり、異なるプロセスでLUFFAを作成したりする上で重要です。

これはLUFFAの構造です。

.
├── batch
│   └── **/*.batch-engine-data.json
├── *.client-extension-config.json
├── Dockerfile
├── LCP.json
├── static
│   └── **/*
├── WEB-INF
│   └── liferay-plugin-package.properties
└── [microservice resources]

batch

バッチ フォルダーは、 バッチ クライアント拡張プロジェクト でのみ必要です。

これらのファイルは、 batch/ フォルダー内の任意のフォルダー構造に配置できます。

プロジェクトの client-extension.yaml ファイルでバッチ拡張機能を定義しなかった場合、Liferay はこれらのファイルを無視します。

*.client-extension-config.json

各 LUFFA には、少なくとも 1 つの *.client-extension-config.json ファイルが必要です。

LUFFA のルートには、1 つ以上の *.client-extension-config.json (OSGi 構成リソースフォーマット) ファイルがあります。 これらは、クライアント拡張機能がアーカイブ内でどのように構造化されるかを定義します。 通常、これらのファイルは、 client-extension.yaml ファイルの内容に基づいてビルド プロセス中に生成されます。 YAML から JSON への変換は Liferay ワークスペース プラグインによって指定されており、1:1 のマッピングではありません。

Dockerfile

各 LUFFA には、少なくとも 1 つの Dockerfile が必要です。

ビルドプロセスは、バッチ設定フロントエンドクライアント拡張用のDockerfileを自動的に生成し、パッケージ化する。

を提供する必要があります。 Dockerファイルを用意する必要があります。 プロジェクトのルートディレクトリに追加すれば、プロジェクトをビルドする際にLUFFAにコピーされます。

Dockerfile がプロジェクト内のマイクロサービス クライアント拡張機能を実行できることを確認してください。 例えば、 Dockerfile では、マイクロサービスのコードが必要とする特定のツールをインストールする必要がある場合があります。

環境変数など、他の方法でDockerコンテナを設定することもできます。 例えば、コンテナの JVM (クラウド環境で実行されるクライアント拡張機能に必要な場合があります) を LIFERAY_JAR_RUNNER_JAVA_OPTS 変数で構成できます。

クライアント拡張機能を手動でパッケージ化する

LUFFA を自分でパッケージ化する場合、バッチ、構成、およびフロントエンド クライアント拡張機能には、特定の Dockerfile 規約が必要です。 Liferayは、以下の画像でそれらを提供しています。

バッチクライアント拡張機能には、 liferay/batch:latest イメージを使用してください。

FROM liferay/batch:latest
COPY /batch /batch

設定クライアント拡張機能には、 liferay/noop:latest イメージを使用してください。

FROM liferay/noop:latest

フロントエンドクライアント拡張機能には、 liferay/caddy:latest イメージを使用してください。

FROM liferay/caddy:latest
COPY static/ /public_html/

マイクロサービス クライアント拡張機能の Dockerfile は、特定のコンテキストに完全に依存するため、事前構成済みのイメージを提供することはできません。

LCP.json

各 LUFFA には LCP.json ファイルが必要です。

ビルドプロセスは、バッチ設定フロントエンドクライアント拡張用のLCP.jsonを自動的に生成し、パッケージ化する。

を提供する必要があります。 LCP.jsonファイルを用意する必要があります。 プロジェクトのルートディレクトリに追加すれば、プロジェクトがビルドされる際にLUFFAにコピーされます。 この LCP.json ファイルは、マイクロサービスが Liferay Cloud にデプロイされるときに使用されるコンテナを設定します。

LUFFAを自分でパッケージ化する場合、各クライアント拡張機能には、 LCP.json の異なる仕様の提案が付属しています。

クライアント拡張相当な資源が必要親切メモ
バッチ仕事
  • 環境変数 LIFERAY_BATCH_OAUTH_APP_ERC は、バッチ クライアント拡張機能の oAuthApplicationHeadlessServer プロパティの値に設定する必要があります。 これは補間によって実現できます。
  • CPUメモリ 、および スケール には小さな値を指定できます。
設定仕事
  • バッチ拡張機能よりもさらにメモリ使用量が少ない。
  • CPUメモリ 、および スケール に非常に小さな値を指定できます。
フロントエンドデプロイ
  • loadBalancer プロパティを targetPort80 に設定して指定する必要があります。
  • 自己修復のために、 livenessProbe および readinessProbe プロパティ を指定する必要があります。
  • CPUメモリ 、および スケール には小さな値を指定できます。

バッチクライアント拡張機能の例 LCP.json

{
   "cpu": 0.2,
   "env": {
       "LIFERAY_BATCH_OAUTH_APP_ERC": "__batch.oAuthApplicationHeadlessServer__"
   },
   "id": "__CLIENT_EXTENSION_ID__",
   "kind": "Job",
   "memory": 50,
   "scale": 1
}

設定例 クライアント拡張機能 LCP.json

{
    "cpu": 0.1,
    "id": "__CLIENT_EXTENSION_ID__",
    "kind": "Job",
    "memory": 10,
    "scale": 1
}

フロントエンドクライアント拡張機能の例 LCP.json

{
    "cpu": 0.2,
    "id": "__CLIENT_EXTENSION_ID__",
    "kind": "Deployment",
    "livenessProbe": {
        "httpGet": {
            "path": "/",
            "port": 80
        }
    },
    "loadBalancer": {
        "cdn": true,
        "targetPort": 80
    },
    "memory": 50,
    "readinessProbe": {
        "httpGet": {
            "path": "/",
            "port": 80
        }
    },
    "scale": 1
}

詳細については、 LCP.json による設定 を参照してください。

static

静的 ディレクトリは、 フロントエンド クライアント拡張プロジェクト でのみ必要です。

ビルドされた LUFFA のルート レベルの static/ ディレクトリに、任意の数の静的リソース ファイルを配置できます。 static/ フォルダ内には、お好きなフォルダ構造を使用してください。 プロジェクトの client-extension.yaml ファイルにフロントエンド クライアント拡張機能が定義されていない場合、これらのファイルは無視されます。

マイクロサービスリソース

マイクロサービスクライアント拡張プロジェクト用に構築されたLUFFAには、他の必須ファイルと競合しない限り、追加のリソースを含めることができます。