コマンドラインからの複数プロファイルのデプロイ

コマンドライン・デプロイメントでは、1回の起動で複数のワークスペースをデプロイできます。複雑な制御が必要な場合は、ojdeployでXMLビルド・スクリプトを指定して処理し、検出されたすべてのデプロイ・タスクを実行できます。マクロおよびワイルドカードは、コマンドラインとバッチ・モードの両方で使用できます。マクロは、まとめて連結したり、ネストすることができます。

デプロイ対象の各プロファイルは、ワークスペースとプロジェクトによって修飾されます。また、各プロファイルの出力は、異なる出力ファイルや場所に出力できます。さらに、コール側スクリプトではワークスペース内のプロジェクトを認識しないため、基準に一致する全部または一部のプロジェクトのみがデプロイされます。このような入力や基準を指定するコマンドライン構文は煩雑となり、柔軟性が失われる場合があります。

ビルドファイルはojdeployに渡すことができます。ビルドファイルには、複数の<deploy>タスクとともに、環境を設定できる共有の<defaults>セクションが含まれます。各デプロイ・タスクでは、デプロイのタイプ(前述のセット)を指定し、必要に応じてデフォルト値をカスタマイズします。各タスクでは、そのタスクのスコープに適用するパラメータ引数内で適用可能なワイルドカードも使用できます。プリプロセッサはビルドファイルを解析してojdeployに渡し、必要に応じてワイルドカードを展開して変数を置換します。

ビルドファイルの利用には、コマンドライン構文にくらべて次の利点があります。

サンプルのビルドファイルを次に示します。すべてのデプロイ処理を起動するためのコマンドラインはojdeploy ojdeploy-build.xmlです。ファイルは上から下へ処理されます。

<?xml version="1.0" encoding="US-ASCII" ?>
<ojdeploy-build basedir="/usr/jdoe/">
  <!-- Defines default parameters for all deploy tasks.
       Also defines some variables strictly for use within this file
       in macros
  -->
  <defaults>
    <parameter name="profile" value="*"/>
    <parameter name="nocompile" />
    <-- define a macro -->
    <variable name="customdir" value="/var/projects/fin/"/>
  </defaults>
  <!-- Select all .jws files in location ${customdir} called absoluteFile1.jws, absoluteFile2.jws.
       Open all projects.
       Deploy profiles p1, p2, p3 in each project, in each workspace.
  -->
  <deploy>
    <parameter name="workspace" value="${customdir}/absoluteFile1.jws,${customdir}/absoluteFile2.jws"/>
    <parameter name="project" value="*"/>
    <-- Override default profile parameter -->
    <parameter name="profile" value="p1,p2,p3"/>
  </deploy>
  <!--
    Open relativeFile1.jws in the base directory
    Open all projects.
    Deploy all profiles (default for "profile" parameter is "*")
  -->
  <deploy>
    <parameter name="workspace" value="relativeFile1.jws"/>
    <parameter name="project" value="*"/>
  </deploy>
  <!--
    Open relativeFile2.jws in base directory.
    Open all Projects
    Deploy profiles matching the patter "web*"
  -->
  <deploy>
    <parameter name="workspace" value="relativeFile2.jws"/>
    <parameter name="project" value="*"/>
    <parameter name="profile" value="web*"/>
  </deploy>
</ojdeploy-build>

ワイルドカードのサンプル

プロジェクト名とプロファイル名は、"*"、"name*"、"name1,name2,name3,..."、またはこれらの組合せとして指定できます。ワークスペース名は列挙する必要があるため、"*"は使用できませんが、"workspace1"または"workspace1,workspace2,workspace3"として指定することはできます。

例:

ワークスペースの例:

<ojdeploy-build basedir= "/home/jdoe" >
  <deploy>
    <parameter name= "workspace" value= "Application1.jws,Application2.jws" />
    <!-- above pattern gets /home/jdoe/Application1.jws and /home/jdoe/Application2.jws -->
    . . .
  </deploy>
/ojdeploy-build>

組込みマクロ

ビルドファイルで使用できる組込みマクロは、次のとおりです。

マクロ名 説明
${workspace.name} .jwsファイル拡張子を除いたワークスペース名。
${workspace.dir} ワークスペース(.jws)ファイルが格納されたディレクトリ。
${project.name} .jprファイル拡張子を除いたプロジェクト名。
${project.dir} プロジェクト(.jpr)ファイルが格納されたディレクトリ。
${profile.name} プロファイルの定義済の名前。
${deploy.dir} デフォルトのデプロイ・ディレクトリ。通常、プロジェクト・レベルのプロファイルの場合は${project.dir}/deploy、ワークスペース・レベルのプロファイルの場合は${workspace.dir}/deployです。
${base.dir} -basedirパラメータの値、または現在のディレクトリ。

コマンドラインからのデプロイ
Apache Antによるビルド
アプリケーションのデプロイ
アプリケーションのデプロイ用の構成
アーカイブ・ファイルへのデプロイ