28 AntタスクおよびMavenプラグインを使用したアプリケーションのデプロイ

Apache AntタスクおよびApache Mavenプラグインは、アプリケーションのデプロイメントを自動化しやすくするためにJCS - SaaS Extension SDKに用意されています。SDKで使用可能なコマンド・ライン・インタフェース(CLI)を使用して、エンタープライズ・アーカイブ(EAR)ファイルおよびWebアプリケーション・アーカイブ(WAR)ファイルを含むJava Platform Enterprise Edition (Java EE)アプリケーションをJCS - SaaS Extensionにデプロイできます。

注意:

また、SDKまたはサポート対象のIDEを使用してアプリケーションを個別にデプロイすることもできます。「JCS - SaaS Extension Controlを使用したアプリケーションの個別デプロイ」を参照してください。

ユーザー・アプリケーションの検証

Oracle Java Cloud Service - SaaS Extensionインスタンスでインストールまたは更新されるアプリケーションはすべて、最初にホワイトリスト・ツールによって検証されます。

ホワイトリスト検証

ホワイトリスト・ツールにより、Java API検証の一環として、デプロイメント・ディスクリプタおよび他のアプリケーション構成ファイル(log4j.propertiesファイルなど)が検証されます。

アプリケーションをOracle Cloudにデプロイすると、Oracle Java Cloud Service - SaaS Extensionによってホワイトリスト違反がないかどうかが確認されます。Java API違反がある場合は、アプリケーションのデプロイが拒否されない可能性があります。代わりに、警告レポートが作成されます。たとえアプリケーションの実行時に許可されていない使用方法が実行されたとしても、セキュリティ例外が発生するのはランタイム中のみです。たとえば、サード・パーティ・ライブラリでホワイトリスト検証時に警告が発生するのはよくあることですが、これらがランタイム中に実行されることはめったにありません。

デプロイメントを試行する前に、Oracle Java Cloud Service - SaaS Extension SDKに用意されているwhitelist.jarを使用してアプリケーションをローカルで検証できます。

使用方法

オプション

$>java -jar whitelist.jar

java -jar whitelist.jar [-argument ...] [-help] [file1 file2 dir1 dir2 ...]

このツールを使用して、許可されていない使用方法が可能かどうかについて1つ以上のクラス・ファイル、JARファイル、デプロイ可能なアーカイブ(WARまたはEAR)、または展開済ディレクトリをスキャンできます。また、入力ファイルをデプロイ可能なアーカイブ内にパッケージ化できるかどうかを検証することもできます(入力ファイルがクラス、JAR、WARまたはEARでない場合)。次に例を示します。

java -jar whitelist.jar -log /home/log/newlog.log /home/apps/myapp.war java -jar whitelist.jar myapp.jar 
オプション 説明

log

スキャン結果が書き込まれるログ・ファイルへのパス。

ショートカット: l

grid

グリッド内にエラーをリストするかどうかを示すフラグ(true/false)。グリッドの折返しを回避するには、コンソール・ウィンドウの幅が十分であることを確認するか、gridwidthオプションを使用してグリッドの幅を制限します。

ショートカット: g

デフォルト値: false

gridwidth

グリッドの最大幅。グリッド表示の幅を制限する場合(たとえば、表示範囲が狭い場合)、これを使用できます。

注意:

より狭い幅を指定する場合、グリッドがその幅に収まるよう形成されない可能性があります。これは、gridがtrueである場合に当てはまります。

ショートカット: gw

デフォルト値: 180

例28-1 ホワイトリストの例

$java -jar whitelist.jar localremote-ejb.jar -grid 
 #===========================================================================# | Whitelist validation - localremote-ejb.jar | #===========================================================================# | Entry | Validation Error(s) - 3 | |=============================|=============================================| |com/prohorenko/localremote/ |Type javax.ejb.EJBObject not | |ExRem.class(2) |allowed.(OnClassSignature:com.prohorenko.| | |localremote.ExRem ->Base type) | | |Type java.rmi.RemoteException not allowed.| | |(Exceptions at method:sayHello -> | | |OnClassSignature:java.rmi.RemoteException) | |-----------------------------+---------------------------------------------| |com/prohorenko/localremote |Type java.rmi.RemoteException not allowed.| |/ExRemHome.class(1) |(Exceptions at method:create->               | | |OnClassSignature:java.rmi.RemoteException) | +-----------------------------+---------------------------------------------+ ERROR - Whitelist validation has failed with 3 error(s).

Antタスクを使用したデプロイ

Apache Ant (Ant)には、JCS - SaaS Extensionアプリケーション用として自動化されたデプロイメント・オプションが用意されています。

Antタスク

Antタスクは、デプロイメントに関連するすべてのSDK CLIコマンドで使用可能です。

AntタスクおよびCLIコマンド

各Antタスクは、対応するCLIコマンドで使用可能なすべての引数をサポートしています。

次のコード例は、(SDKに含まれる)oracle.javacloud.antlib.xml構成ファイルに定義されているAntタスクを参照する方法を示しています。

注意:

SDK_HOMEは、SDKのホーム・ディレクトリ(: /Users/javacloud-user/Desktop/work/sdk/oracle-javacloud-sdkなど)を指し示しています。
<project name="sample-how-to-use-ant" default="all" basedir="." xmlns:javacloud="antlib:oracle.javacloud.antlib"> <!-- When you execute the build file, make sure that the Ant properties are available to the build.(For example: pass -DSDK_HOME=/Users/javacloud-user/Desktop/work/sdk/oracle-javacloud-sdk) ..--> <property environment="env"/> <property name="SDK_HOME" value="${env.SDK_HOME}"/> <path id="javacloud.classpath"> <pathelement location="${SDK_HOME}/lib/ant-javacloud.jar"/> </path> <taskdef uri="antlib:oracle.javacloud.antlib" resource="oracle/javacloud/antlib.xml" classpathref="javacloud.classpath"> <!-- The local.classpath definition is required only when working against a local WebLogic domain.It can be completely ignored if the build file is aimed to be run only against Oracle Cloud.Note: WEBLOGIC.JAR points to ${WL_HOME}/server/lib/weblogic.jar --> <path id="local.classpath"> <pathelement path="${SDK_HOME}/lib/localextension.jar"/> <!-- optional for running whitelist validation automatically while installing --> <pathelement path="${SDK_HOME}/lib/whitelist.jar"/> <pathelement path="${WEBLOGIC.JAR}"/> </path> </project>

次の表は、対応するCLIコマンドにマップされたすべての定義済Antタスクの参照リストです。

タスク 対応するCLIコマンド 追加のAnt属性(これらのプロパティはMavenのサポート対象)

<javacloud:install/>

install

failonerror、password、truststorepassword、jobidproperty

<javacloud:delete/>

delete

failonerror、password、truststorepassword、jobidproperty

<javacloud:update/>

update

failonerror、password、truststorepassword、jobidproperty

<javacloud:start/>

start

failonerror、password、truststorepassword、jobidproperty

<javacloud:stop/>

stop

failonerror、password、truststorepassword、jobidproperty

<javacloud:job-status/>

job-status

failonerror、password、truststorepassword、waitfor、jobstatusproperty、lastlogproperty、timeoutsecs、pollintervalmillis、downloadlastlogonfailure、downloadlastlogpath

<javacloud:list-jobs/>

list-jobs

failonerror、password、truststorepassword

<javacloud:list-job-logs/>

list-job-logs

failonerror、password、truststorepassword、lastlogproperty

<javacloud:job-log-file/>

job-log-file

failonerror、password、truststorepassword

<javacloud:list-applications/>

list-applications

failonerror、password、truststorepassword、applicationnamesproperty

<javacloud:describe-application/>

describe-application

failonerror、password、truststorepassword、applicationexistproperty、applicationstatusproperty、applicationurlproperty

<javacloud:install-library/>

install-library

failonerror、password、truststorepassword、jobidproperty

<javacloud:update-library/>

update-library

failonerror、password、truststorepassword、jobidproperty

<javacloud:delete-library/>

delete-library

failonerror、password、truststorepassword、jobidproperty

<javacloud:list-libraries/>

list-libraries

failonerror、password、truststorepassword、librarynamesproperty

<javacloud:list-service-instances/>

list-service-instances

failonerror、password、truststorepassword

<javacloud:describe-service-instance/>

describe-service-instance

failonerror、password、truststorepassword、serviceinstancestatusproperty、serviceinstancesizeproperty、dbserviceinstanceproperty

<javacloud:restart-service-instance/>

restart-service-instance

failonerror、password、truststorepassword

<javacloud:query-service-logs/>

query-service-logs

failonerror、password、truststorepassword

<javacloud:query-service-metrics/>

query-service-metrics

failonerror、password、truststorepassword

<javacloud:fs-shell/>

fs-shell

failonerror、password、truststorepassword

<javacloud:config-shell/>

config-shell

failonerror、password、truststorepassword

Ant構築タスクは、Ant構築プロセスをより詳細に制御できる追加属性を選択的にサポートしています。

属性 説明 デフォルト値 出力属性

failonerror

タスクが失敗したときにAnt構築を失敗にする必要があるかどうかを示すフラグ(true/false)。デフォルト値の場合、ジョブが失敗したときに構築の失敗を防止することにより、様々な出力属性(lastlogpropertyなど)を同じ構築でさらに使用できるようになります。タスクが失敗したときにAnt構築を失敗にする場合は、この属性をtrueに設定します。

false

 

password

ユーザーのパスワード。

   

truststorepassword

トラストストアのパスワード。

changeit

 

jobidproperty

タスクが成功したときにジョブIDとともに設定されるAntプロパティ名を採用する出力属性。この値は、有効なAntプロパティ名である必要があります。たとえば、タスクが実行された後にjobidproperty="jobid"を指定する場合、${jobid}には、このタスクによって開始されたジョブのIDが含まれます。

 

X

jobstatusproperty

ジョブIDとともに設定されるAntプロパティ名を採用する出力属性。この値は、有効なAntプロパティ名である必要があります。たとえば、タスクが成功した後にjobstatusproperty="job-status"を指定する場合、${job-status}には、ジョブのステータスが含まれます。

 

X

lastlogproperty

現在のジョブに関連付けられた最後のログ・ファイルの名前とともに設定されるAntプロパティ名を採用する出力属性。この値は、有効なAntプロパティ名である必要があります。たとえば、タスクが成功した後にlastlogproperty="lastlog"を指定する場合、${lastlog}には、ジョブのステータスが含まれます。これを使用して最後のログ名を取得することにより、<javacloud: logfile/>を使用して最後のログをダウンロードできるようにします。ジョブが失敗した場合、最後のログにはその理由が含まれることが想定されます。

 

X

downloadlastlogonfailure

ジョブが失敗したときに最後のログ・ファイルを自動的にダウンロードする必要があるかどうかを示すブール値(true/false)。Ant構築ファイルが存在する場合、ローカルのOracle WebLogic Serverドメインに対するすべてのジョブが失われるため、ローカルのOracle WebLogic Serverドメインを対象として作業する場合、最後のログをダウンロードすることをお薦めします。

false

 

downloadlastlogpath

失敗したログのコンテンツをダウンロードするファイルへのパス。属性downloadlastlogonfailureがtrueである場合のみ適用されます。

最後のログの名前 + ".log"

 

applicationexistproperty

アプリケーションが存在するときにtrueに設定されるAntプロパティ名を採用する出力属性。アプリケーションが存在せず、Antプロパティに値がない場合、プロパティにはいずれの値も設定されません。ただし、Antプロパティに他の値がある場合、このプロパティはfalseにリセットされます。この値は、有効なAntプロパティ名である必要があります。たとえば、タスクが実行された後にapplicationexistproperty="exists"を指定する場合、アプリケーションが存在するときに${exists}が設定されます。

 

X

applicationstatusproperty

アプリケーションのステータスとともに設定される出力属性。これが設定されるのは、アプリケーションが存在する場合のみです。

 

X

applicationurlproperty

アプリケーションURLとともに設定される出力属性。これが設定されるのは、アプリケーションが存在し、アプリケーションがアクティブなステージにある場合のみです。

注意: アプリケーションに複数のWebモジュールがある場合、複数のアプリケーションURLがあります。このような場合、設定されるプロパティのカンマ区切りのリストを渡すことができます。Webモジュールの数より多くのプロパティが渡された場合、これらのプロパティは無視されます。特定のプロパティが、アプリケーション内のWebモジュールと同じ順序でURLとともに設定されます。これより少ないプロパティが渡された場合、これらのみが設定されます。

 

X

waitfor

ジョブが完了するまで、またはtimeoutsecsに指定されているタイムアウトに達するまでタスクが待機する必要があるかどうかを示すフラグ(true/false)。

false

 

timeoutsecs

タスクが返されるまでに待機する必要がある最大時間を示すタイムアウト間隔(秒単位)。正の数でない場合、タスクはジョブが完了するまで無限に待機する必要があることを示します。waitfortrueである場合に適用されます。

600 (10分)

 

pollintervalmillis

ジョブが完了したかどうかを確認するポーリング間隔(ミリ秒単位)。waitfortrueである場合に適用されます。

30000 (30秒)

 

dbserviceinstanceproperty

このサービス・インスタンスに関連付けられたデータベース・サービス名とともに設定される出力プロパティ。これより多いデータベース・アソシエーションがある場合、プロパティ名のカンマ区切りのリストを指定できます。

 

X

serviceinstancesizeproperty

サービス・インスタンスの(オファリングの)サイズとともに設定される出力プロパティ。

 

X

serviceinstancestatusproperty

サービス・インスタンスのステータスとともに設定される出力プロパティ。

 

X

applicationnamesproperty

アプリケーション名のカンマ区切りのリストとともに設定される出力プロパティ。

 

X

librarynamesproperty

ライブラリのカンマ区切りのリストとともに設定される出力プロパティ。各ライブラリのフォーマットは'library-name#spec-version@impl-version'です。

 

X

クラスパスを指定するためのネストされた<classpath/>要素

属性classpathをサポートするタスクは、クラスパスを手軽に指定するためのネストされた<classpath/>をサポートしています。

注意:

タスクは、対応するコマンドが-classpathを引数としてサポートしている場合、classpath属性をサポートします。

アクティブ・ジョブを処理するためのネストされた<onresourcebusy/>

Javaサービス・インスタンスには、アクティブなジョブを複数設定することはできません。サービス・インスタンス内にアクティブなジョブがすでに存在する場合、新しいジョブを作成できるタスクが失敗する可能性があります。次のタスクは、新しいジョブを作成できます。
  • <javacloud:install/>

  • <javacloud:update/>

  • <javacloud:start/>

  • <javacloud:stop/>

  • <javacloud:delete/>

  • <javacloud:install-library/>

  • <javacloud:update-library/>

  • <javacloud:delete-library/>

  • <javacloud:restart-service-instance/>

ネストされた<onresourcebusy/>を使用して、アクティブなジョブを処理できます。デフォルトでは、ジョブがすでに実行されている場合、前にリストしたタスクは待機します。アクティブなジョブがすでに存在するときに、包含するタスクが失敗するようにするには、retrycount="0"に設定します。

注意:

アクティブなジョブがタイムアウトした場合、包含するタスクは再試行せずに失敗します。
属性 説明 デフォルト値 出力タイプ

retrycount

包含するタスクが再試行する回数。アクティブなジョブが完了または失敗すると、retrycountが0より大きい場合、包含するタスクが再試行されます。

注意: 再試行中、アクティブなジョブが新しく再度生成される可能性があります。この属性は、包含するタスクを再試行する必要がある回数を示します。再試行しない場合は、retrycount="0"に設定します。0である場合、サービス・インスタンス内でアクティブなジョブがすでに実行されている場合、包含するタスクは失敗します。

3

 

timeoutsecs

アクティブなジョブが完了または失敗するまでにタスクが待機する必要がある最大時間を示すタイムアウト間隔(秒単位)。正の数でない場合、タスクはジョブが完了するまで無限に待機する必要があることを示します。retrycountが0より大きい場合に適用されます。このタイムアウトは再試行単位です。

600 (10分)

 

pollintervalmillis

アクティブなジョブが完了したかどうかを確認するポーリング間隔(ミリ秒単位)。retrycountが0より大きい場合に適用されます。

30000 (30秒)

 
 <javacloud:update debug="true" local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}" user="${USER}"password="${PASSWORD}" identitydomain="${IDENTITY_DOMAIN}" serviceinstance="${SERVICE_INSTANCE}" application="${APP_NAME}" path="${PATH}" jobidproperty="jobid" adminstate="true"> <classpath refid="local.classpath"/> <onresourcebusy retrycount="0"/> </javacloud:update>

local="true"を使用する際の重要な注意事項

1つの構築ファイルを作成し、このファイルをローカルのOracle WebLogic Serverドメインに対して使用することも、リモートのOracle Java Cloud Service - SaaS Extensionインスタンスに対して使用することもできます。ただし、ローカルのOracle WebLogic Serverドメインに対して実行できる構築ファイルを作成する場合は注意してください。たとえば、<javacloud-install/>を実行してジョブIDを取得してから、<javacloud-status/>を実行する場合、同じAntクラスローダーを使用して両方のタスクが起動されるように構築ファイルを作成する必要があります。お薦めのアプローチは、次のとおりです。

<target name="deploy"> <javacloud:install local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}" user="${USER}" password="${PASSWORD}" identitydomain="${IDENTITY_DOMAIN}" serviceinstance="${SERVICE_INSTANCE}" application="${APP_NAME}" path="${PATH}" jobidproperty="jobid"> <classpath refid="local.classpath"/> </javacloud:install> <echo message="Install job id:${jobid}"> <javacloud:job-status waitfor="true" local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}" user="${USER}" password="${PASSWORD}" jobid="${jobid}"> <classpath refid="local.classpath"/> </javacloud:job-status> </target>

注意:

<antcall/>を使用してジョブ・ステータスを確認するすることはお薦めしません。

Antの例

次の例は、コマンドのAntジョブを実行する方法のガイドラインを示します。参照および分類用として、対応するCLIコマンドが含まれています。

アプリケーションのインストール

CLIコマンド:

$ java -jar javacloud.jar install -user user -serviceinstance wls -identitydomain myiddomain -path oracle-javacloud-sdk/samples/apps/visitors.war -application visitor password: ******

Antタスク:

$ant -DSDK_HOME=sdk/oracle-javacloud-sdk/ -DADMIN_URL=https://javaservices.us.cloud.oracle.com -DUSER=user -DPASSWORD=pwd -DIDENTITY_DOMAIN=domain -DSERVICE_INSTANCE=serviceinstance <project name="sample-how-to-use-ant" default="all" basedir="." xmlns:javacloud="antlib:oracle.javacloud.antlib"> ...<path id="javacloud.classpath"> <pathelement location="${SDK_HOME}/lib/ant-javacloud.jar"/> </path> <taskdef uri="antlib:oracle.javacloud.antlib" resource="oracle/javacloud/ antlib.xml" classpathref="javacloud.classpath"> <path id="local.classpath"> <pathelement path="${SDK_HOME}/lib/localextension.jar"/> <pathelement path="${SDK_HOME}/lib/whitelist.jar"/> <pathelement path="${WEBLOGIC.JAR}"/> </path> <target name="deploy"> <install local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}" user="${USER}" password="${PASSWORD}" identitydomain="${IDENTITY_DOMAIN}" serviceinstance="${SERVICE_INSTANCE}" application="${APP_NAME}" path="${PATH}" jobidproperty="jobid"> <classpath refid="local.classpath"/> </install> <echo message="Install job id:${jobid}"> <job-status downloadlastlogonfailure="true" identitydomain="${IDENTITY_DOMAIN}" waitfor="true" local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}" user="${USER}" password="${PASSWORD}" jobid="${jobid}"> <classpath refid="local.classpath"/> </job-status> </target> </project>

Maven:

$mvn com.oracle.cloud:javacloud:install -DSDK_HOME=sdk/oracle-javacloud-sdk -Didentitydomain=iddomain -Dserviceinstance=wls -Duser=user -Dpassword=pwd -Dapplication=aap -Dpath=<path to application>

Ant - アプリケーションが存在する場合のみの削除試行

Antタスクは、Antタスクが返されるときに設定される出力プロパティをサポートしています。アプリケーションがインストールされているかどうかを確認できます。

<project name="sample-how-to-use-ant" default="all" basedir="." xmlns:javacloud="antlib:oracle.javacloud.antlib"> ...<path id="javacloud.classpath"> <pathelement location="${SDK_HOME}/lib/ant-javacloud.jar"/> </path> <taskdef uri="antlib:oracle.javacloud.antlib" resource="oracle/javacloud/ antlib.xml" classpathref="javacloud.classpath"> <path id="local.classpath"> <pathelement path="${SDK_HOME}/lib/localextension.jar"/> <pathelement path="${WEBLOGIC.JAR}"/> </path> <target name="checkappifexists"> <javacloud:describe-application debug="true" local="${LOCAL}" grid="true" failonerror="false" gridwidth="120" adminurl="${ADMIN_URL}" user="${USER}" password="${PASSWORD}" identitydomain="${IDENTITY_DOMAIN}" serviceinstance="${SERVICE_INSTANCE}" application="${APP_NAME}" applicationexistproperty="exists"> <classpath refid="local.classpath"/> </javacloud:describe-application> </target> <target name="undeployifexists" if="exists"> <javacloud:remove local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}" user="${USER}" password="${PASSWORD}" identitydomain="${IDENTITY_DOMAIN}" serviceinstance="${SERVICE_INSTANCE}" application="${APP_NAME}" jobidproperty="jobid"> <classpath refid="local.classpath"/> </javacloud:remove> <echo message="Remove job id:${jobid}"> <javacloud:job-status downloadlastlogonfailure="true" identitydomain="${IDENTITY_DOMAIN}" waitfor="true" local="${LOCAL}" failonerror="true" adminurl="${ADMIN_URL}" user="${USER}" password="${PASSWORD}" jobid="${jobid}" lastlogproperty="lastlog"> <classpath refid="local.classpath"/> </javacloud:jobs-tatus> <javacloud:job-log-file identitydomain="${IDENTITY_DOMAIN}" local="${LOCAL}" failonerror="true" output="${OUTPUT_LOG_FILE}" adminurl="${ADMIN_URL}" user="${USER}" password="${PASSWORD}" jobid="${jobid}" log="${lastlog}"> <classpath refid="local.classpath"/> </javacloud:job-log-file> </target> <target name="all" depends="init, checkappifexists, undeployifexists .../> </project>

Ant - Oracle Java Cloud Serviceインスタンスに関連付けられたデータ・ソース名の読取り

Antタスクは、Oracle Java Cloud Serviceインスタンスに関連付けられたデータ・ソース名を読み取ることができます。これにより、アプリケーションの構築時にデータ・ソース名をアプリケーション内で使用できるようになります。データ・ソース名は、Antを使用して読み取ります。

<project name="sample-how-to-use-ant" default="all" basedir="." xmlns:javacloud="antlib:oracle.javacloud.antlib"> ...<path id="javacloud.classpath"> <pathelement location="${SDK_HOME}/lib/ant-javacloud.jar"/> </path> <taskdef uri="antlib:oracle.javacloud.antlib" resource="oracle/javacloud/ antlib.xml" classpathref="javacloud.classpath"> <path id="local.classpath"> <pathelement path="${SDK_HOME}/lib/localextension.jar"/> <pathelement path="${WEBLOGIC.JAR}"/> </path> <target name="read-db-datasource" depends="initall"> <javacloud:describe-service-instance serviceinstance="${service-instance}" debug="${debug}" gridwidth="120" local="${local}" grid="true" adminurl="${deploy-url}" user="${deploy-user}" password="${deploy-password}" failonerror="true" dbserviceinstanceproperty="dbservicename" serviceinstancesizeproperty="servicesize" identitydomain="${identity-domain}" serviceinstancestatusproperty="servicestatus"> <classpath refid="local.classpath"/> </javacloud:describe-service-instance> <echo message="Properties populated into ANT: servicestatus:${servicestatus}, servicesize:${servicesize}, dbservicename:${dbservicename}"> </target> </project>

Mavenプラグインを使用したデプロイ

Mavenプラグインは、ほとんどのCLIコマンドで使用可能です。各コマンドは、Mavenゴールとして公開されます。

MavenプラグインのJAR

プラグインJava Archive (JAR)であるmaven-javacloud.jarは、SDKにバンドルされています。各Mavenゴールは、対応するすべてのCLIコマンド引数をプロパティとしてサポートしています。これらのプロパティ以外にも、このゴールは、対応するすべてのAntタスクの追加属性もサポートしています。

failonerrorプロパティはデフォルトでfalseに設定されていることに注意してください。このプロパティは、値true (-Dfailonerror=true)とともに渡すことも、ゴールが失敗したときにMaven構築が失敗するようにする場合はpom.xmlファイルに入れることもできます。

注意:

ゴールにはプロジェクトが必要ありません。たとえば、install goalコマンドをコマンド・ラインで直接実行することにより、Antによって生成されたWARをデプロイできます。

Mavenプラグインのインストール

Mavenプラグインをインストールするには、SDKを抽出し、抽出したファイルが含まれるディレクトリを指し示すSDK_HOME環境変数を設定します。次に例を示します。

export SDK_HOME=/Users/javacloud-user/Desktop/work/sdk/oracle-javacloud-sdk mvn install:install-file -Dfile=$SDK_HOME/lib/maven-javacloud.jar -DpomFile=$SDK_HOME/doc/resources/javacloud.pom

前のステップでは、次のプロジェクト詳細を使用してプラグインをローカル・リポジトリにインストールしています。

 <project>   <groupId>com.oracle.cloud</groupId>   <artifactId>javacloud</artifactId>   <version>1.0</version> </project>

MavenプロジェクトなしでのCLIとしてのMavenの使用

任意のディレクトリからコマンドを実行できます。次のコマンドは、最新のジョブをすべてリストします。

mvn -DSDK_HOME=$SDK_HOME -Duser=user -Dpassword=pwd -Didentitydomain=id -Dserviceinstance=si -Dgrid=true com.oracle.cloud:javacloud:list-jobs

デプロイメントに関連するMavenゴールおよび対応するCLIコマンドを次の表にまとめます。

ゴール 対応するCLIコマンド 説明

com.oracle.cloud:javacloud:install

install

すでにバンドルされており、ローカル・ディスク内で使用可能なユーザー・アプリケーションをインストールします。

com.oracle.cloud:javacloud:delete

delete

インストール済アプリケーションを永続的に削除します。

com.oracle.cloud:javacloud:update

update

既存のインストール済アプリケーションアプリケーションを更新します。

com.oracle.cloud:javacloud:job-status

job-status

ジョブIDによって識別されるジョブについて説明します。説明には、ジョブの現在のステータス、開始時間および終了時間が含まれます。

com.oracle.cloud:javacloud:list-jobs

list-jobs

ユーザーに表示されるジョブの詳細をすべてリストします。serviceinstanceまたはapplicationオプションを使用すると、リストのスコープを設定できます。

com.oracle.cloud:javacloud:list-job-logs

list-job-logs

ジョブに関連付けられたログをすべてリストします。

com.oracle.cloud:javacloud:job-log-file

job-log-file

ログ・ファイルをダウンロードし、ローカル・ディスクに書き込みます。

com.oracle.cloud:javacloud:list-applications

list-applications

インストールされており、サービス・インスタンス内で使用可能なアプリケーションをすべてリストします。

com.oracle.cloud:javacloud:describe-application

describe-application

名前によって識別されるアプリケーションについて説明します。説明には、アプリケーションにアクセスするために使用できる現在のステータスおよびアプリケーションURL (Webモジュールごとに1つ)が含まれます。

com.oracle.cloud:javacloud:query-service-logs

query-service-logs

特定の検索基準と一致するアプリケーション・ログ・レコードを取得します。

com.oracle.cloud:javacloud:list-commands

list-commands

すべてのコマンドをリストします。引数 -searchを使用すると、特定のコマンド・セットを検索できます。これがデフォルトです。