Liferay開発ツール : deployFastタスク - Japan

null Liferay開発ツール : deployFastタスク

by Yasuyuki Takeo

Liferay開発ツール : deployFastタスク

画像

こんにちは。
日本ライフレイ デベロッパーアドボケイトの竹生(たけお)です。

Liferay開発の高速化に役立つツールがLiferayのGradleプラグインに新しく追加されました。今回の投稿ではその利用方法について説明します。

概要


deployFastは、Liferay gradleプラグインの新しいgradleタスクで、任意のモジュールのliferay-portalビルドで使用できます。このタスクは、モジュール全体の再デプロイを待たずに、変更のサブセットをより速く表示できるように設計されています。

どのように機能しますか?


モジュールが最初にデプロイされた後、JSP、CSS、およびJSリソースを$ {liferayHome} / work / $ {bsn}-$ {version}ディレクトリにコピーすることにより機能します。次に、ポータルランタイムで、いくつかサーブレットが更新され、コンパイルされたJSPクラス、CSSファイル、また作業フォルダー内のJavaScriptリソースの場所がオプションで検索されます。

これにより、再デプロイ時間が長いプロジェクトのデプロイ時間短縮につながります。例えば多数のダウンストリーム依存関係を持つOSGiプロジェクト、またはWAB Generator / Processorのデプロイに時間がかかる大規模なWARプロジェクト(Spring MVCポートレット)が挙げられます。

このタスクはもともと、7.xでSpring MVCポートレットWARを再デプロイするのに時間がかかりすぎる、とお客様から指摘された問題を解決するために考案されました。Springポートレット開発者は、deployFastを使用して、変更をよりすばやく確認できるようになります。

使用方法


  1. portal-ext.propertiesでwork.dir.override.enabled = true(またはinclude-and-override = portal-developer.properties)を設定します。
  2. 任意のモジュールディレクトリから、gradlew deployを実行します
  3. 次に、gradlew deployFast -atを実行。
  4. Java、bnd.bnd、またはプロパティファイルなど、JSP / CSS / JSの変更以外のモジュールに変更を加える場合、またJSモジュールの構造を変更した際には、再デプロイする必要があります(Ctrl + Cで起動中のタスクを停止し、再度gradlew deploy && gradlew deployFast -atを実行。)

deployFastタスク以前には、OSGiのWatchツールと、Bladeのwatchコマンドがありました。この2つの方法にはまだ利用可能ですが、タスクでカバーできなかった機能を改善するために、今回の新しい「deployFast」アプローチを追求することになりました。

  1. WatchはWARプロジェクトをサポートしていませんでしたが、WARポートレット(Spring / JSF)は依然として顧客やコミュニティで広く使用されており、「deployFast」タスクはWARプロジェクトをサポートします。
  2. Watchは引き続きOSGiバンドルのインストール/更新/更新レベルとして動作するため、Watchモードであっても、更新のたびにOSGiバンドルを更新/更新する必要があります。ポータルで新しい更新が表示されるのを待ちます。 「deployFast」は、OSGiレベルの更新メカニズムをバイパスする内部ポータル固有の最適化です。
  3. Watchは、参照バンドルURLや、gogoシェルを介した通信など、ポータルとの低レベルの対話を使用します。これらは、ローカルTomcatでは機能しますが、dockerなどのコンテナ技術を用いた開発では正しく機能しない可能性があります。 deployFastは、これらのコンテナー環境に簡単に適応できるはずです。

2019/10/9現在、Liferayワークスペースプロジェクトではまだこれをサポートしていませんが、すぐに利用可能になる予定です。


本記事は以上です。
いかがでしたでしょうか?

記事に関するご意見、ご感想などございましたら、お気軽に[email protected]までご連絡ください。


■ Liferay Japan User Groupスラックを開設しました。製品に関する質問、設計に関する疑問などでもこちらにポストしてください!
https://liferay-community.slack.com/messages/C7P2GV5RA

■ これまで発信してきた日本語による技術コンテンツを、Qiitaでお読みいただけます。よろしければそちらの記事も合わせてご役立てください。
https://qiita.com/yasuflatland-lf

■ Twitterでも公式プレスリリースやなどの情報を発信しています。
https://twitter.com/LiferayJapan

Doorkeeperのライフレイコミュニティメンバー大歓迎!
コーポレートブログの技術コンテンツ更新情報など定期的におとどけしています。
https://liferay.doorkeeper.jp/

 

業界最高の評価

Gartner

Gartnerレポート:『リーダー』に位置づけ
ライフレイは9年連続で、Gartner社によるデジタルエクスペリエンスプラットフォーム(DXP )分野のマジック・クアドラントにおいて、リーダーに選出されました。

レポートの詳細、ダウンロード