【WebSphere Liberty Hints & Tips】リモートのサーバーとローカルのEclipseを連携する方法


はじめに

Java EEアプリの開発において、ローカル開発環境でEclipseを使い、ランタイムにWebSphere Liberty(以下Liberty)などを使うといったこともあると思います。すべてローカル環境でアプリ開発を行うこともできますが、リモート環境、AWSやBluemixなどのクラウドにあるLibertyを使いたいケースもあります。例えばBluemix上にある多種多様なサービスとの連携をするにあたって、Bluemix上にデプロイしたLibertyを使って開発するといったケースが考えられます。
その際、Bluemix上のLibertyをローカルのEclipseに同期させ、直接サーバー構成を更新したりアプリをデプロイするための設定を記します。

BluemixでLibertyをデプロイ

PaaSのLiberty for Javaではなく、今回はWebSphere Application Server for BluemixのLiberty Core版(IaaSに近い、どちらかというとMiddleware as a Serviceとして提供)を使います。

本サービスは無償トライアル期間中は無料で使えますが、Liberty for Javaのように無償枠がないため、トライアル期間が過ぎたら料金が発生するので注意してください。予期せぬ課金請求などが発生しても著者は一切責任を持ちません。価格は以下の図の通りです。

  1. WAS for Bluemixをカタログから選択し、Liberty Coreを選択し、作成をクリックします。

  2. サイズを選択します。

  3. スペックを確認してプロビジョンをクリックします。

  4. デプロイが完了したらコンソールに記載されているユーザーID・PWでsshログインします。

  5. リモートアクセスするためにサーバー構成ファイルのserver.xml上に以下を追記します。ファイルの場所は /opt/IBM/WebSphere/Profiles/Liberty/servers/server1 です。

server.xml
<remoteFileAccess>
    <writeDir>${server.config.dir}</writeDir>
    <writeDir>${server.output.dir}</writeDir>
    <writeDir>${wlp.user.dir}</writeDir>
</remoteFileAccess>

ローカル環境の準備

  • EclipseとJDK 8とLibertyがローカルに導入されていることが前提です。
  • IBM JavaでもOracle Javaのどちらでも構いません。
  • 今回はNeon, Oracle Java 8, Liberty 17.0.0.1を前提としています。
  • 導入手順の詳細はこちらをご覧ください。
  1. Libertyのインストール。
  2. WebSphere Developer Toools Pluginのインストール。
  3. Eclipse上でLibertyサーバーの作成。

リモート接続の構成

  1. serverから右クリック New => Server でLibertyサーバーを作成。

  2. ホストにBluemix上にデプロイしてあるLibertyのIPをサーバー・ホスト名に入力して次へ。

  3. ユーザー名(wsadmin)、パスワード(Bluemixコンソール上で確認)、セキュアポート(9443)を入れて、Verifyをクリックすると、Bluemix上のLibertyの構成ファイルがダウンロードされてくるので、中身を確認して次へ。

  4. ローカルからBluemixのLibertyの起動停止ができるようにチェックを入れ、ユーザー名とパスワードを再度入力して次へ。

  5. もしこの時点で追加したいアプリがあれば追加して(なければ空のままで)完了。

  6. Libertyサーバーが追加され、リモートと同期して開始状態になっていることがわかります。ここで加えた更新はサーバー上に同期されます。

まとめ

以上でWebSphere Developer Toolsが入ったEclipseから、リモートにあるLibertyサーバーと同期し、サーバー構成の更新、アプリのデプロイを実行できるようにしました。

参考資料