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

Liferayサービスへのデプロイ

他のサービスと同様に、カスタム追加のデプロイには、設定やファイルをGitリポジトリの適切な場所に追加する必要があります。 しかし、Liferayサービスのデプロイは、他のサービスのデプロイとは若干異なります。

Liferay サービスは Liferay ワークスペース を利用して、 デプロイ可能なファイルソースコードなどを追加するためのより多くのオプションを提供します。 これらは CI ビルドに簡単に含めることができますが、 CLI ツールを使用している場合は、Liferay サービスに特に必要な 追加の手順 がいくつかあります。

Liferay DXP Dockerイメージの定義

Liferayサービスイメージ(他のサービスと同様に LCP.json ファイルで定義されています)は、Liferay DXP Dockerイメージと同じではありません。 Liferay DXP Dockerイメージは、Liferayサービスで動作するLiferayの正確なバージョン(フィックスパックを含む)を決めます。 これは、liferay.workspace.docker.image.liferay プロパティと一緒にリポジトリの liferay/gradle.properties ファイルで定義されています。

DXP のバージョンに合ったイメージを見つけるには、 Liferay DXP Docker タグ を確認してください。

重要

LiferayサービスのLCP.jsonファイルのimageプロパティで定義されたDXPのメジャーバージョン番号は、liferay/gradle.propertiesliferay.workspace.docker.image.liferayプロパティのメジャーバージョンに一致していなければなりません。 2つが異なる場合、Liferayサービスはデプロイ後に起動に失敗する可能性があります。

CLIツールの展開

CLIツールを使用してデプロイ可能なファイルビルドされたソースコードHotfix、およびライセンスを追加するには、デプロイ前に生成される特別なDockerfileイメージにそれらを含める必要があります。 CI サービス を介してビルドをデプロイする場合は、これらの追加手順は必要ありません。

通常どおりCLIを使用してLiferayサービスをデプロイする場合(すべてのサービスを一度にデプロイする場合、または liferay/ ディレクトリからデプロイする場合)、カスタマイズを含まないLiferay DXPイメージの デフォルトバージョンLCP.jsonで定義されたメジャーバージョンを使用)がデプロイされます。 これは、カスタマイゼーションしたものをサービスに含めるためには、そのサービスを具体的に構築してデプロイする必要があるからです。

以下の手順で、カスタマイゼーションを含んだLiferayサービスをデプロイします:

  1. liferay/ ディレクトリのコマンドラインから、以下を実行します:

    ./gradlew clean createDockerfile deploy
    

    これにより、カスタマイズしたものをすべてビルドし、 build/liferay/ サブフォルダに配置します。 また、DXPのカスタマイズバージョン専用の Dockerfile を追加します。

  2. 新しく生成したbuild/docker/サブフォルダにLCP.jsonファイルをコピーします。

  3. このサブフォルダから通常通り lcp deploy コマンドを実行します。

これにより、デフォルトバージョンではなく、カスタマイズされたサービスがデプロイされます。

テーマ、ポートレット、およびOSGiモジュールのデプロイ

テーマ、ポートレット、または OSGi モジュールをインストールするには、WAR または JAR ファイルを Liferay DXP サービス ディレクトリ内の configs/[ENV]/deploy/ フォルダーに含めます。

例えば、カスタムJARファイルを開発環境( dev/ 環境フォルダを使用)にデプロイする場合、Liferay DXPのサービスディレクトリは以下のようになります:

liferay
  ├── LCP.json
  └── configs
      └── dev
          ├── deploy
          │   └── com.liferay.apio.samples.portlet-1.0.0.jar
          ├── osgi
          ├── patching
          ├── scripts
          └── portal-ext.properties

デプロイされると、 configs/[ENV]/deploy/ ディレクトリ内のすべてのファイルが、Liferay サービスのコンテナ内の $LIFERAY_HOME/deploy/ フォルダーにコピーされます。

イメージのデプロイ時には、特定のファイルや設定が強制的に存在するため、追加したファイルが上書きされることがあります。 サービスのログで、 DXPCloud Liferay Overrides というメッセージを探して、ファイルが上書きされたタイミングを特定してください。

ソースコードのビルドとデプロイ

新しい追加のソースコードをCIビルドに含めることもできます。 ビルドが開始されると、ソースコードが自動的にコンパイルされます。

CIビルドでは、以下のフォルダ内のソースコードをコンパイルします。

  • 新モジュール用の liferay/modules フォルダ
  • カスタムテーマ用の liferay/themes フォルダ
  • デプロイされたWARの liferay/wars フォルダ

デプロイしたら、デプロイ可能な .jar または .war ファイルはLiferayサービスのコンテナ内の$LIFERAY_HOME/デプロイ/フォルダにコピーされます。 これは、CIのビルドがコードをコンパイルする場合と、デプロイ前に利用可能な Gradleコマンド を使用して自分でコードを生成する場合のどちらでも発生します。

パッチ適用ツールのインストールと更新

Liferay DXPには、ホットフィックスを適用するためのパッチツールが付属しています。 新しいパッチ適用ツールバージョンのリリース後にホットフィックスが作成された場合は、更新されたバージョンをインストールする必要があります。

  1. 必要なパッチツールバージョン をダウンロードしてください (.zip ファイル)。

  2. ファイルを Liferay Cloud プロジェクトの /liferay/configs/common/patching フォルダーに移動します。

次回のデプロイでは、パッチ適用ツールが新しいバージョンに更新されます。

Hotfixのデプロイについて

ホットフィックスを適用するには、ホットフィックスのZIPファイルをLiferay DXPサービスディレクトリ内の configs/[ENV]/patching/ フォルダに追加します。 この変更を展開すると、ホットフィックスがLiferay DXPインスタンスに適用されます。

Liferay DXP の新しいマイナー バージョン (新しい サービス パック など) にアップデートするには、 の「DXP インスタンスを新しいマイナー バージョンにアップデートする 」を参照してください。

例えば、以下のような構造で開発環境にホットフィックスをデプロイできます。

liferay
  ├── LCP.json
  └── configs
      └── dev
          ├── deploy
          ├── osgi
          ├── patching
          │   └── liferay-hotfix-2-7110.zip
          └── scripts

なお、ホットフィックスはサーバーを起動するたびに再適用する必要があります。 このため、長期的には、このフォルダにホットフィックスを追加するよりも、 gradle.properties ファイル内の Liferay DXP Docker イメージの最新のフィックス パックまたはサービス パックに更新する方が良いです。Docker のバージョンを更新するには、このファイル ( liferay/ ディレクトリ内) の liferay.workspace.docker.image.liferay プロパティを更新します。

環境変数によるパッチ適用

ホットフィックスをGitリポジトリに直接コミットするのではなく、CIのビルドプロセスの一部としてインストールすることもできます。 この方法は、リポジトリに大きなファイルを残さないようにできるため、大規模なホットフィックスの場合に最適です。

CI サービスがビルド プロセス中に自動的に適用できるように、環境変数 LCP_CI_LIFERAY_DXP_HOTFIXES_[ENV] にホットフィックスを追加します (Liferay Cloud コンソールの 環境変数 タブ、または ci サービスの LCP.json ファイル)。 複数のバグ修正が必要な場合は、サポートに依頼してそれらを1つのホットフィックスにまとめてもらってください。

この環境変数を LCP.json に追加して ci サービスに適用する場合は、更新を完了するために ci サービスを インフラ環境 にデプロイする必要があります。

LCP.json ファイルでホットフィックスを定義する以下の例を参照してください。

"env": {
    "LCP_CI_LIFERAY_DXP_HOTFIXES_COMMON": "liferay-hotfix-17-7210",
    "LCP_CI_LIFERAY_DXP_HOTFIXES_DEV": "liferay-hotfix-33-7210"
}

ライセンスのデプロイ

Liferay DXP サービス ディレクトリ内の configs/[ENV]/deploy/ フォルダに独自のライセンスを配置することで、ライセンスを追加できます。

例えば、Liferay DXPサービスディレクトリに次のような構造でライセンスを開発環境に追加できます:

liferay
  ├── LCP.json
  └── configs
      └── dev
          ├── deploy
          │   ├── license.xml
          │   └── license.aatf
          ├── osgi
          ├── patching
          └── scripts

バックグラウンドで、XMLライセンスは $LIFERAY_HOME/ deployにコピーされ、AATFライセンスは $LIFERAY_HOME/ dataコピーされます。

Liferay Cloudはライセンスを自動的に更新するため、別途通知がない限り、ライセンス有効期限切れの警告を受け取った後、お客様側で対応する必要はありません。