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

デプロイメント環境の構築

コードを共有する準備が整う時点が来ます。 そのためには、環境を構築する必要があります。 企業の世界では、通常3つの環境があります。

  • 開発者:コードを迅速に修正および再デプロイできる、早期テスト用の環境。 開発者とパワーユーザーはここでテストします。

  • ユーザー受け入れテスト(UAT):本番環境の構成をより厳密に反映する環境。 アプリケーションがほぼ完成したら、通常、より多くのユーザーをここでテストするように招待します。

  • 本番環境:本番環境のサイトが存在する環境。 デプロイメントは厳密に制御され、他の2つの環境でテストされたコードのみがデプロイされます。

Liferay Workspaceを使用すると、コンテナーベースであろうと従来型であろうと、デプロイ環境を簡単に生成できます。 構成を提供し、Gradleタスクを実行すると、配布可能なDockerコンテナまたはサーバーアーカイブを生成して、インストールすることができます。 ワークスペースには、アクションが発生するオプションのconfigsフォルダが含まれています。

Blade CLIを使用してワークスペースを作成した場合、 configs フォルダはすでに存在します。 ワークスペース を手動で作成した場合は、ワークスペース ディレクトリに次のフォルダー構造を作成します。

├── common
│   └── portal-setup-wizard.properties
├── dev
│   └── portal-ext.properties
├── docker
├── local
├── prod
└── uat
    └── portal-ext.properties

まだファイルには何も入れないでください。

デプロイメント環境の仕組み

configsフォルダは、特定のシナリオを定義します。

common:すべての環境に適用される構成が含まれています。

dev:開発環境の構成が含まれています。

docker:Docker構成が含まれています。

local:ワークスペースが存在するローカル環境の構成が含まれます。

prod:本番環境の構成が含まれています。

uat:ユーザー受け入れテスト環境の構成が含まれています。

構成ファイルを特定のフォルダに配置すると、その環境の構成が定義されます。 commondockerの場合、他のすべての構成がそれらを上書きします。 これにより、環境をオーバーライドするためのベースライン構成を提供できるようになります。 これで、いくつかの環境を構築する準備が整いました。

デプロイメント環境の構築

ご使用の環境で次のシナリオを想定します。

  • 開発者環境は開発者プロパティを使用する必要があります
  • ローカル環境はローカルデータベースを指します
  • 開発者およびUAT環境は、独自のデータベースを指します
  • すべての環境はセットアップウィザードをスキップします

そのシナリオを構成する方法は次のとおりです。

  1. commonフォルダで、次のプロパティをportal-setup-wizard.propertiesに追加します

    setup.wizard.enabled=false
    
  2. localフォルダで、portal-ext.propertiesにローカルデータベースを構成します。

    #
    # MySQL
    #
    jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver
    jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
    jdbc.default.username=root
    jdbc.default.password=password
    
  3. devフォルダで、開発者プロパティを有効にし、portal-ext.propertiesの開発サーバーでデータベースを構成します。

    include-and-override=portal-developer.properties
    
    #
    # MySQL
    #
    jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver
    jdbc.default.url=jdbc:mysql://devel.server/lportaldev?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
    jdbc.default.username=root
    jdbc.default.password=password
    
  4. uatフォルダで、portal-ext.propertiesのUAT環境でデータベースを構成します。

    #
    # MySQL
    #
    jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver
    jdbc.default.url=jdbc:mysql://uat.server/lportaluat?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
    jdbc.default.username=root
    jdbc.default.password=password
    

これで、環境を生成して配布する準備が整いました。

Analytics Cloud トークンの重複防止

データ収集に Liferay の Analytics Cloud を使用する場合、データベースには統合を認証するためのトークンが含まれます。 実稼働環境からデータベースをコピーすると、重複したトークンによって両方の環境から Analytics Cloud にデータが送信されます。

Analytics Cloud トークンの重複を防ぐには、非本番環境で次のプロパティを設定します。 これにより、Liferay ポータルの起動ごとに Analytics Cloud トークンが削除されます。

analytics.cloud.configuration.delete.on.startup=true

Liferay SaaS プロジェクトで Analytics Cloud トークンが重複するのを防ぐには、ポータル プロパティに仮想ホスト名を追加する必要があります。

analytics.cloud.configuration.delete.on.startup[liferay.com]=true

デプロイメント環境の生成

これで、ローカルで実行したりサーバーに配布したりするための Docker コンテナまたはバンドルを生成できます。

Dockerコンテナの生成

Docker コンテナを生成すると、すべての環境の構成が含まれます。 liferay.workspace.environment 変数を使用して、使用する環境を選択します。

デプロイメント環境構成から Docker コンテナを生成するには、次のコマンドを使用します。

./gradlew buildDockerImage

Docker コンテナが構築されると、次のコマンドは上記の開発構成を使用してコンテナを起動します。

./gradlew startDockerContainer -Pliferay.workspace.environment=dev

構成は Liferay コンテナ内で生成され、変数によって使用する構成が決定されます。

すべての構成は Docker コンテナ内で生成されます。

バンドルの生成

これは、initBundleまたはdistBundle Gradleタスクのいずれかを使用して実行されます。

  1. 最初に環境をテストする必要があります。 ローカルでビルドするには、initBundleコマンドを使用します。 たとえば、dev環境を構築するには、次のように実行します。

    ./gradlew initBundle -Pliferay.workspace.environment=dev
    

    これにより、ワークスペース内のすべてのプロジェクトがコンパイルされ、bundlesフォルダ内のランタイムにデプロイされます。 また、この例では、指定した構成—、つまり dev 環境の構成も提供されます。 bundles フォルダ内の portal-ext.properties ファイルを調べると、 dev 構成に指定した内容と一致しています。

  2. 環境が整いテストが良好な場合は、すべてのアプリケーションと構成を含む配布可能なバンドルを構築できます。 次のコマンドを実行します。

    ./gradlew distBundleTar -Pliferay.workspace.environment=dev
    

    これにより、gzip圧縮されたtarファイルがbuildフォルダにビルドされます。 このアーカイブを取得して、他のLiferayバンドルと同じように開発サーバーにインストールできます。ただし、このバンドルは希望どおりに完全に構成されており、すべてのアプリケーションが既にインストールされている点が異なります。

.zip アーカイブが必要な場合は、 distBundleZip コマンドを使用できます。

上記の手順に従って、各環境をテストおよび構築します。

すべての環境を一度に構築することもできます。 これには 2 つの手順だけが必要です。

  1. Workspaceの gradle.properties ファイルで、プロパティ liferay.workspace.bundle.dist.include.metadatatrue に設定します。

    liferay.workspace.bundle.dist.include.metadata=true
    
  2. すべてのバンドルをビルドするにはターゲットを呼び出します。 すべてのバンドルをgzip圧縮されたtarファイルにビルドするには、

    ./gradlew distBundleTarAll
    

    すべてのバンドルを.zipファイルにビルドするには、

    ./gradlew distBundleZipAll