問題
- 一度に 1 つのLiferay PaaS サービスのみの更新をデプロイする方法はありますか? わずかな構成変更のみが必要であり、完全な新しいビルドを作成してデプロイすることにより、Liferay PaaS スタック全体ですべてのサービスを再起動する必要がなくなると便利です。
環境
- Liferay PaaS
解決
- ビルド内の特定のサービスのみをデプロイするには、特定の環境の「影響が少ない」デプロイから除外するサービスに対して、LCP.json 内で
"deploy": false
を構成できます。 その後、通常どおりプルリクエストを介して変更を送信します。 - たとえば、
liferay
サービスのデフォルトの LCP.json を調べると、以下が含まれます。
"environments": {
"infra": {
"deploy": false}
}
liferay
サービスがビルドの -prd にデプロイされないようにする場合 (liferay
を除くすべてのサービスがデプロイされるようにするため)、PR を送信する前に以下を追加します。
"environments": {
"infra": {
"deploy": false
}
"prd": {
"deploy": false
}}
追加情報
- Liferay PaaSコマンドライン ツール内の lcp deployコマンドを使用すると、単一のサービスをデプロイするための追加オプションが利用できます。このツールの完全なドキュメントはまだ作成中であるため、このオプションは注意してチームの裁量でのみ使用してください (GitHub を完全にスキップするため、このデプロイメントのプルリクエストを確認できず、デプロイメントタイプ間を行き来すると同期の問題が発生する可能性があり、GitHub で構成した承認プロセスが実行されません)。
-
バージョン 3.xx ワークスペースを使用する場合、このコマンド (例えば、
webserver
)を使用して単一のサービスをデプロイするには、次の手順を実行します。
- ローカル マシン上の Liferay PaaS リポジトリに移動します
- 実装する構成の変更を追加します
-
./gradlew distLiferayCloud
を実行します - ビルドフォルダが表示されます
-
build/lcp/webserver
に移動します -
lcp deploy
を実行します (最初に認証するには、lcp login
を実行する必要がある場合があります) - デプロイ先の環境を選択してください
これらの手順の後、webserver
に対してのみ新しいデプロイが開始されます
-
バージョン 4.xx ワークスペースを使用する場合、このコマンドを使用して単一のサービスをデプロイするには (例えば、
webserver
;以下のliferay
に関する注記を参照してください)、手順は次のとおりです:
- ローカル マシン上の Liferay Experience Cloud リポジトリに移動します
- 実装する構成の変更を追加します
- ターミナルで、デプロイされている特定のサービスのディレクトリに移動します(例:
[repository_home] /webserver
) -
lcp deploy
を実行します (最初に認証するには、lcp login
を実行する必要がある場合があります) - デプロイ先の環境を選択してください
これらの手順の後、Web サーバー
に対してのみ新しいデプロイが開始されます
-
これに対する例外 ( バージョン 4.xx ワークスペースを使用する場合) は
liferay
サービスで、次の手順があります:
- ローカル マシン上の Liferay Experience Cloud リポジトリに移動します
- 実装する構成の変更を追加します
- ターミナルで liferay ディレクトリ
[repository_home]/liferay
に移動します -
実行
./gradlew clean deploy createDockerfile
-
実行
cp LCP.json ビルド/docker
-
に移動
ビルド/ドッカー
-
lcp deploy
を実行します (最初に認証するには、lcp login
を実行する必要がある場合があります)。 - デプロイ先の環境を選択してください
注: 「Dockerfile が存在しません」というメッセージが表示されます。手順 4 または 5 をスキップするとエラーになります。
これらの手順の後、liferay
に対してのみ新しい展開が開始されます。
- このトピックの詳細については、次の記事を参照してください。