WebLogic Server に WAR ファイルをデプロイする Ant スクリプト

久々に Ant ネタ。

Eclipse 上で開発しているプロジェクトを WAR ファイルに固めて、WebLogic Server にデプロイする作業を自動化してみる。

以前の記事でも話したが、現場のプログラムは Eclipse の緩いコンパイラに依存しまくっており、javac が上手くいかなかったので、Eclipse のビルド機能を利用してコンパイルし、WAR ファイルをビルドするようにした。

今回はこの Ant スクリプトでビルドした WAR ファイルを WebLogic にデプロイするまでを Ant スクリプト化した。

Gist で公開

早速だがコードは以下の3ファイル。

ファイルの解説と使い方

この build.xmldeploy.batdeploy.xml の3ファイルを、ビルド・デプロイを行いたいプロジェクト直下に配置しておく。

build.xml は、上述の記事で紹介した WAR ファイルビルドを行う Ant スクリプト。Eclipse 上から起動すること。これでワークスペース直下、指定のプロジェクトフォルダと同じ階層に WAR ファイルをビルドして配置する。デプロイ処理については、exec 要素から deploy.bat を実行して行う。

deploy.bat は、deploy.xml を動作させるために呼び出す必要があるバッチスクリプトファイル。WebLogic のインストール先フォルダにある setWLSEnv.cmd を読み込み、WebLogic を操作するのに必要な環境変数を設定させ、それから deploy.xml を Ant 実行する。

deploy.xml は、WebLogic サーバの停止・起動・再デプロイなどを行う Ant スクリプト。<taskdef name="wls" で WebLogic を操作するタスクを定義している。このファイルの詳しい説明は後述。

deploy.batdeploy.xml は Eclipse 上から叩かないと動かないものではなく、単体でバッチファイルを叩いて呼び出しても使える作りになっている。Eclipse 上で、build.xml を介して呼べば、deploy.batPause コマンドは無視され、全ての処理が続けて行われる。

deploy.xml について

「WebLogic へのデプロイを行う Ant スクリプト」といきなり紹介したが、コードは「ローカル開発環境の WebLogic を操作する」作りになっている。必要な設定事項は全て property 要素で定義するようにしたので読んでもらえば分かると思うが、必要な設定をすれば別マシンの WebLogic を操作することもできるので、少し解説しておく。

環境変数を読み込むために deploy.bat が分離しちゃってるのが扱いづらいかもなぁ。