Liferay PaaS でのサービスの更新
Liferay PaaS は、非常に効率的な継続的インテグレーション/継続的デプロイメント (CI/CD) 戦略を実現するための堅牢なフレームワークを提供します。 GitとJenkinsの統合により、CIビルドを自動的にトリガーして、プロジェクト環境にデプロイすることができます。 あるいは、CI サービスのビルド プロセスを完全にスキップし、 コマンド ライン インターフェイス (CLI) ツールを使用して、ローカルの変更をプロジェクト環境に直接デプロイすることもできます。
デプロイメントには複数のパスがありますが、ワークフローは一般的に以下の3つのステージに沿って行われます:
開発と構成
すべてのワークフローは、プロジェクトの Git リポジトリ (つまり、 GitHub、 Bitbucket、 GitLab、または Azure DevOps) に変更を加えることから始まります。 このリポジトリは、Liferayサービスインスタンスを含む、お客様のプロジェクトへのカスタム追加の基礎となります。 このGitリポジトリは、プロジェクトサービスの構成とカスタマイゼーションのための共有バージョンコントロール、プロジェクトのデプロイのための信頼できる唯一のソース、Liferayモジュール、テーマ、拡張機能を構築するための共有ワークスペースを提供します。
サービスの LCP.json ファイルを構成するか、 configs/ フォルダを介して環境固有およびプロジェクト全体の変更をサービスに加えます。 各サービスの設定オプションの詳細については、それぞれのドキュメントを参照してください。
- Liferayサービス
- バックアップサービス
- 継続的インテグレーションサービス(Jenkins)
- データベースサービス
- 検索サービス(Elasticsearch)
- Web サーバー サービス (nginx)
ビルドとテスト
プロジェクトの Git リポジトリの構成に応じて、コミットをプロジェクトの中央リポジトリにマージするか、変更を加えた新しいプル リクエストを開くことで、自動 CI ビルドをトリガーできます。 このプロセスは自動的に行われますが、infra環境のCIサービスを変更して、テストを含む追加のパイプラインステップを含めることができます。 詳細については、 継続的インテグレーション を参照してください。
すべてのプロジェクト環境のビルドの履歴にアクセスするには、Liferayコンソールの Buildsページに移動します。 ここでは、CIサービスまたはCLIツールのいずれかによって開始されたすべてのビルドを、その一般的な情報やステータス(保留、通過、失敗など)とともに表示することができます。 ビルドを日付と環境でフィルタリングできます。 ビルド ID またはビルド内の最新の git コミットのハッシュを使用してビルドを検索することもできます。

デプロイする
Liferay PaaS では、サービスをデプロイする方法が 3 つあります。CLI ツール経由でデプロイする (手動)、Liferay Cloud Management Console 経由でデプロイする (手動)、または特定の CI ビルドを自動的にデプロイするように構成する方法です。 デプロイメントには、2 つの異なる タイプ (デプロイメント と ステートフルセット) と、2 つの異なる 戦略 (ローリングアップデート と 再作成) があります。 Liferay PaaS のサービスは、ほとんどのユースケースで最高のパフォーマンスを提供するデプロイメントタイプと戦略で事前構成されていますが、ニーズに合わせて再構成できます。
すべてのプロジェクト環境にわたるデプロイメントの完全な履歴にアクセスするには、Liferay Cloud コンソールの デプロイメント ページに移動します。 ここでは、3 つの方法のいずれかを使用して開始されたすべてのデプロイメントとその一般情報を表示できます。 日付と環境でデプロイメントをフィルタリングできます。 ビルド ID またはビルド内の最新の git コミットのハッシュを使用してデプロイメントを検索することもできます。

オプション1:コマンドラインインターフェースを介したデプロイ
CLIツールを使用するのが、ローカル変更をサービスにデプロイする最も早い方法です。 これを使えば、ターミナルからデプロイすることができ、変更内容をリモートリポジトリにプッシュしたり、Jenkinsのビルドをトリガーしたりする必要がありません。 他のデプロイ方法とは異なり、CLIツールでは一度に1つのサービスのローカル変更をデプロイすることもできます。
これを行うには、ターミナルで CLI ツールにログインし、デプロイするサービスのフォルダーに移動します (フォルダーには、サービスの LCP.json ファイルが含まれている必要があります)。 次に、lcp deployを実行してデプロイを開始し、デプロイするプロジェクトと環境を選択します(例: dev、uat、prd)。 本番環境にデプロイする前に、必ず dev または uat 環境にデプロイして、変更点を確認してください。
デプロイを成功させるには、選択した環境にデプロイする権限が必要です。 このデプロイメント ワークフローの詳細については、「 CLI ツールによる変更のデプロイメント 」を参照してください。
バックアップ、CI、データベース、検索、および Web サーバー サービスを直接デプロイできますが、 lcp deploy コマンドを実行する前に、まず Liferay サービスの Gradle ビルドを作成する必要があります。 詳細については、「 Liferay サービスへのデプロイ 」を参照してください。
CLI ツールを使用してデプロイする場合は、プロジェクトのルート ディレクトリからコマンドを実行してすべてのサービスを一度にデプロイすることも、サービスs LCP.json ファイルを含むディレクトリからコマンドを実行して 1 つのサービスだけをデプロイすることもできます。 特に liferay サービスでは、 デプロイに追加の手順 が必要なため、プロジェクトワークスペースからファイルをビルドして準備することができます。
オプション2:Liferay Cloudコンソールからのデプロイ
Liferay Cloudコンソールは、プロジェクトに変更をデプロイするための主要な方法です。 これを使用すると、成功したビルドを表示して選択し、選択した環境にデプロイできます。 これらはCIサービスとCLIツールの両方で生成されたビルドを含み、Liferay Cloudコンソールの Builds ページからアクセスすることができます。 本番環境にデプロイする前に、必ず dev または uat の環境を選択し、変更点を検証してください。
デプロイメントワークフローの詳細については、「 Liferay Cloud Console 経由での変更のデプロイ 」を参照してください。

オプション3:自動的にビルドを dev環境にデプロイ
必要に応じて、ビルドをプロジェクトs dev 環境に自動的にデプロイするように CI サービスを設定できます。 CIサービスに環境変数を追加することで、指定したブランチで作成されたビルドの自動デプロイを開始します。 詳細については、 自動デプロイメントの設定 を参照してください。