11 Java EEアプリケーションのデプロイ/再デプロイ/アンデプロイ
この章では、Oracle Enterprise Manager Cloud Control (Cloud Control)を使用してJava EEアプリケーションをデプロイ、アンデプロイおよび再デプロイする方法について説明します。
この章の具体的な内容は次のとおりです。
「Java EEアプリケーションのデプロイ/アンデプロイ」デプロイメント・プロシージャの概要
この項では、Java EEアプリケーションのデプロイ、再デプロイおよびアンデプロイに関連するステップの概要を示します。「Java EEアプリケーションのデプロイ/アンデプロイ」デプロイメント・プロシージャを使用すると、次の操作を実行できます。
-
デプロイ
-
アンデプロイ
-
再デプロイ
この項は、Java EEアプリケーションのプロビジョニングを成功させるために必要な一連の処理を理解するためのドキュメント・マップと考えてください。各ステップの参照リンクをクリックすると、詳細情報が説明されている関連セクションが表示されます。
表11-1 Java EEアプリケーションのデプロイ、アンデプロイまたは再デプロイの概要
ステップ | 説明 | 参照リンク |
---|---|---|
ステップ1 |
デプロイメント・プロシージャの理解 Cloud Controlで提供されている、Java EEアプリケーションをデプロイ、アンデプロイまたは再デプロイするためのデプロイメント・プロシージャについて理解します。デプロイメント・プロシージャの機能や、その対象となるユースケースなどを把握します。 |
このデプロイメント・プロシージャについて学習するには、「Java EEアプリケーションのデプロイ、アンデプロイまたは再デプロイ」を参照してください。 |
ステップ2 |
ユースケースの選択 この章では、Java EEアプリケーションのデプロイ、アンデプロイおよび再デプロイに関連するユースケースを示します。ご自身の要件に最適なユースケースを選択してください。 |
|
ステップ3 |
前提条件の確認 デプロイメント・プロシージャを実行する前に、ソフトウェア・ライブラリの構成や「Java EEアプリケーションのデプロイ/アンデプロイ」デプロイメント・プロシージャの一部としてプロビジョニングするコンポーネントの作成など、前提条件を満たしていることを確認する必要があります。 |
Java EEアプリケーションをデプロイ、アンデプロイまたは再デプロイするための前提条件について学習するには、Java EEアプリケーションをデプロイ/アンデプロイするための前提条件を参照してください。 |
ステップ4 |
デプロイメント・プロシージャの実行 デプロイメント・プロシージャを実行して、1つ以上のJava EEアプリケーションをデプロイ、再デプロイまたはアンデプロイします。 |
「Java EEアプリケーションのデプロイ/アンデプロイ」デプロイメント・プロシージャを実行するには、「「Java EEアプリケーション」デプロイメント・プロシージャ」で説明されているステップを実行します。 |
Java EEアプリケーションのデプロイ、アンデプロイまたは再デプロイ
このデプロイメント・プロシージャでは、Java EE仕様に基づいて.ear
、.war
、.jar
、.rar
または.gar
ファイルとしてパッケージ化されたJava EEアプリケーションのデプロイメントをサポートしています。管理者は、WebLogic Server管理コンソールやOracle Enterprise Manager Fusion Middleware管理コンソールにドリルダウンしなくても、Cloud Controlを使用して1つ以上のJava EEアプリケーションをデプロイ、再デプロイおよびアンデプロイできます。Java EEアプリケーションは、Cloud Controlソフトウェア・ライブラリに追加する前に事前構成する必要があります。事前構成されたJava EEアプリケーションは、Cloud Controlの1つ以上のWebLogicドメインにデプロイできます。
Java EEアプリケーション・デプロイメント・プロシージャでは、GUIを多用した対話形式の画面により、1つ以上のWebLogicドメインから事前構成済のJava EEアプリケーションのデプロイ/再デプロイ、またはアンデプロイが可能です。
Enterprise Manager Cloud Control 13c リリース2プラグイン・アップデート1では、リソース・グループ・テンプレート、グローバル・リソース・グループまたはパーティション・リソース・グループのデプロイ/再デプロイ/アンデプロイがサポートされています。
「Java EEアプリケーションのデプロイ/アンデプロイ」デプロイメント・プロシージャのサポート対象リリース
このデプロイメント・プロシージャは、WebLogicバージョン10.3.1、10.3.1以上(12.1.1、12.1.2、12.1.3、12.2.1、12.2.1.xおよび12.1.xを含む)間でのJava EEアプリケーションのデプロイ、アンデプロイまたは再デプロイに使用できます。
WebLogicバージョン8.xおよび9.xはサポートされていません。
Java EEアプリケーションをデプロイ/アンデプロイするための前提条件
「Java EEアプリケーションのデプロイ/アンデプロイ」デプロイメント・プロシージャを実行する前に、次の前提条件を満たしていることを確認してください。
-
「ソフトウェア・ライブラリ」が構成されていることを確認します。詳細は、「Oracleソフトウェア・ライブラリの設定」を参照してください。
-
Java EEアプリケーションのコンポーネントは、ソフトウェア・ライブラリ内に作成しておく必要があります。詳細は、Java EEアプリケーション・コンポーネントの作成を参照してください。
-
管理エージェントは、Java EEアプリケーションをデプロイ、アンデプロイまたは再デプロイしているWebLogicドメインの管理サーバー・ホスト・マシンにインストールする必要があります。デプロイメント・コマンドは、管理サーバー・ホスト・マシンから実行されます。
-
ターゲット実行スクリプトがデプロイメント・プロシージャの一部として実行されている場合、管理エージェントは、ターゲット実行スクリプトが実行されている管理対象サーバーのホスト・マシンにインストールする必要があります。
-
ターゲット実行スクリプトは、必要な環境の設定や、プロパティ・ファイルなどの追加ファイル内のトークンの交換に使用できます。このスクリプトは選択したターゲットで実行されます。
Java EEアプリケーション・コンポーネントの作成
アーカイブ、デプロイ・プラン、デプロイ前スクリプト、デプロイ後スクリプト、ターゲット実行スクリプト、およびJava EEアプリケーションのデプロイに必要なその他のファイルを含む、Java EEアプリケーション・コンポーネントを作成できます。
ノート:
ソフトウェア・ライブラリが構成されているホストにJava EEアプリケーション・コンポーネントを作成する場合、このホスト名および管理エージェント・ホスト名が一致していることを確認する必要があり、一致していない場合は、コンポーネントの作成中に次のエラーが表示されます。
An error was encountered during saving entity samples.gar. Please see the log for details. oracle.sysman.emSDK.app.exception.EMSystemException
Java EEアプリケーション・コンポーネントを作成するには、次のステップに従います。
「Java EEアプリケーション」デプロイメント・プロシージャ
この項では、「Java EEアプリケーション」デプロイメント・プロシージャについて説明します。内容は次のとおりです。
-
Java EEアプリケーションのデプロイ
-
Java EEアプリケーションのアンデプロイ
-
Java EEアプリケーションの再デプロイ
EMCLIを使用したJava EEアプリケーションのデプロイ/再デプロイ/アンデプロイ
この項では、EMCLIを使用してJava EEアプリケーションをデプロイ、再デプロイまたはアンデプロイするプロシージャを示します。
EMCLIを使用したJava EEアプリケーションのデプロイ
EMCLIを使用してJava EEアプリケーションをデプロイするには、次のコマンドを実行します。
emcli submit_procedure -name="JAVAEE_APPLICATION_DEPLOYMENT" -input_file=data="/input-deploy.properties" [instance_name="javaee_deploy"]
サンプル入力ファイル
この項では、サンプルのinput-deploy.properties
ファイルの形式を示します。
stopOnError=true
operation=Deploy
#Host Creds for all the hosts part of the domain
domains.0.domainTargetName=/Farm01_wls1213_njrf_1c1ms/wls1213_njrf_1c1ms
domains.0.wlsCredType=New
domains.0.wlsUserName=wls_username
domains.0.wlsPassword=password
#domains.0.credName=wls_creds:SYSMAN
#Host Creds for all the hosts part of the domain
domains.0.hosts.0.hostName=hostname.example.com
domains.0.hosts.0.hostCredType=New
domains.0.hosts.0.hostUserName=<USERID>
domains.0.hosts.0.hostPassword=password
#domains.0.hosts.0.hostCredName=user1_creds:<USERID>
#For each application
domains.0.javaeeApps.0.appName=MyCalender
domains.0.javaeeApps.0.isSharedLib=false
domains.0.javaeeApps.0.stageMode=DEFAULT
domains.0.javaeeApps.0.startMode=full
domains.0.javaeeApps.0.retirementPolicy=true
domains.0.javaeeApps.0.retirementTimeout=0
domains.0.javaeeApps.0.targets=Cluster_1
#domains.0.javaeeApps.0.deleteTarget=false
domains.0.javaeeApps.0.archiveSwLibPath=demo_folder/calendar_app
domains.0.javaeeApps.0.archiveFileName=Calendar.war
domains.0.javaeeApps.0.archiveStagingLocation=/my_arch/mystage
# If there is no plan, then this can be skipped
#domains.0.javaeeApps.0.planSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.planFileName=xyz.jar
#domains.0.javaeeApps.0.planStagingLocation=/my_plan/mystage
# If there is no predeploy script, this can be skipped
#domains.0.javaeeApps.0.preDeployScriptSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.preDeployScriptFileName=xyz.py
#domains.0.javaeeApps.0.preDeployScriptStagingLocation=/my_prescript/mystage
# If there is no postdeploy script, this can be skipped
#domains.0.javaeeApps.0.postDeployScriptSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.postDeployScriptFileName=xyz.py
#domains.0.javaeeApps.0.postDeployScriptStagingLocation=/my_postscript/mystage
# If there are no additional scripts, this can be skipped
#domains.0.javaeeApps.0.additionalFiles.0.swLibPath=my_folder/calpp
#domains.0.javaeeApps.0.additionalFiles.0.fileName=additional.zip
#domains.0.javaeeApps.0.additionalFiles.0.stagingLocation=/my_add/mystage
# If there is no target execution script, this can be skipped
#domains.0.javaeeApps.0.targetExecScriptSwLibPath=my_folder/my_script
#domains.0.javaeeApps.0.targetExecScriptFileName=script.pl
#domains.0.javaeeApps.0.targetExecScriptStagingLocation=/my_exec/mystage
入力ファイルの説明
-
stopOnError: Java EEアプリケーションのデプロイ中にエラーが発生したときにデプロイメント・プロシージャを停止する必要がある場合は、このフラグをtrueに設定します。
-
operation: 実行中の操作のタイプ(Deploy)です。
-
ドメインの詳細: これらのアプリケーションがデプロイされているWebLogicドメインの詳細を指定します。
domains.0.domainTargetName
: ここで-
0はドメインの索引です。
-
domainTargetNameは、Enterprise Managerでのターゲットの名前です。
-
domains.0.wlsCredType
: ドメインの資格証明です。使用可能な値は、Preferred、NewまたはNamed Credentialsです。
-
domains.0.wlsUserName
(オプション): 新しい資格証明が選択されている場合、ここにユーザー名を指定します。 -
domains.0.wlsPassword
(オプション): 新しい資格証明が選択されている場合、ここにパスワードを指定します。 domains.0.credName
(オプション): 名前付き資格証明が選択されている場合、その資格証明の名前と資格証明所有者の名前を<cred_name>:<owner_name>
の形式で指定します。たとえば、user1_creds:SYSMAN
です。
-
ホスト詳細:
管理サーバーのホスト詳細をここに指定します。-
hosts.0.hostName
: ここで:-
0は管理サーバーのホストの索引です。追加ファイルおよびターゲット実行スクリプトが存在する場合は、ドメイン内の他のすべてのホストに索引1、2、3などを使用する必要があります。
-
hostNameは、管理サーバーのホスト名です。
-
-
domains.0.hosts.0.hostCredType
: 管理サーバーの資格証明です。使用可能な値は、Preferred、NewまたはNamed Credentialsです。
-
domains.0.wlsUserName
(オプション): 新しい資格証明が選択されている場合、ここにユーザー名を指定します。 -
domains.0.wlsPassword
(オプション): 新しい資格証明が選択されている場合、ここにパスワードを指定します。 domains.0.credName
(オプション): 名前付き資格証明が選択されている場合、その資格証明の名前と資格証明所有者の名前を<cred_name>:<owner_name>
の形式で指定します。たとえば、user1_creds:SYSMAN
です。
-
-
アプリケーションの詳細:
デプロイするJava EEアプリケーションの詳細を指定します。-
javaeeApps.0.appName
: ここで:-
javaeeApps.0.appName: デプロイするJava EEアプリケーションの名前です。複数のアプリケーションをデプロイできるため、索引(0)はデプロイする各アプリケーションを識別します。
-
isSharedLib: アプリケーションを共有ライブラリにデプロイする場合、このフラグをtrueに設定します。
-
stageMode ステージング・モードはDefault、StageおよびNo Stageです。
-
startMode: これはFull、AdminまたはDo not startです。
-
retirementPolicy: リタイア・ポリシーが使用可能な場合、このフラグをtrueに設定します。
-
retirementtimeout: リタイア・タイムアウト時間をここに指定します。
-
targets: アプリケーションがデプロイされるターゲットです。
-
archiveSwLibPath: アーカイブを格納するソフトウェア・ライブラリ内の場所です。
-
archiveFileName: アーカイブ・ファイルの名前です。
-
archiveStagingLocation: アーカイブをステージングする管理サーバーのホスト上の場所です。
-
-
ノート:
残りのオプションのセクションでは、必要に応じてソフトウェア・ライブラリのパス、ファイル名およびステージングの場所を指定できます。EMCLIを使用したJava EEアプリケーションのアンデプロイ
EMCLIを使用してJava EEアプリケーションをアンデプロイするには、次のコマンドを実行します。
emcli submit_procedure -name="JAVAEE_APPLICATION_UNDEPLOY" -input_file=data="/input-undeploy.properties" [instance_name="javaee_undeploy"]
サンプル入力ファイル
入力ファイルの説明
この項では、サンプルのinput-undeploy.properties
ファイルの形式を示します。
stopOnError=true
operation=Undeploy
#Host Creds for all the hosts part of the domain
domains.0.domainTargetName=/Farm01_wls1213_njrf_1c1ms/wls1213_njrf_1c1ms
domains.0.wlsCredType=New
domains.0.wlsUserName=wls_username
domains.0.wlsPassword=password
#domains.0.credName=wls_creds:SYSMAN
#Host Creds for all the hosts part of the domain
domains.0.hosts.0.hostName=hostname.example.com
domains.0.hosts.0.hostCredType=New
domains.0.hosts.0.hostUserName=user1
domains.0.hosts.0.hostPassword=KDsa0105
#domains.0.hosts.0.hostCredName=user1_creds:SYSMAN
#For each application
domains.0.javaeeApps.0.appName=MyCalendar
#domains.0.javaeeApps.0.isSharedLib=false
#domains.0.javaeeApps.0.stageMode=DEFAULT
#domains.0.javaeeApps.0.startMode=full
#domains.0.javaeeApps.0.retirementPolicy=true
#domains.0.javaeeApps.0.retirementTimeout=0
domains.0.javaeeApps.0.targets=Cluster_1
domains.0.javaeeApps.0.deleteTarget=true
#domains.0.javaeeApps.0.archiveSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.archiveFileName=file.jar
#domains.0.javaeeApps.0.archiveStagingLocation=/my_arch/mystage
# If there is no plan, then this can be skipped
#domains.0.javaeeApps.0.planSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.planFileName=xyz.jar
#domains.0.javaeeApps.0.planStagingLocation=/my_plan/mystage
# If there is no predeploy script, this can be skipped
#domains.0.javaeeApps.0.preDeployScriptSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.preDeployScriptFileName=xyz.py
#domains.0.javaeeApps.0.preDeployScriptStagingLocation=/my_prescript/mystage
# If there is no postdeploy script, this can be skipped
#domains.0.javaeeApps.0.postDeployScriptSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.postDeployScriptFileName=xyz.py
#domains.0.javaeeApps.0.postDeployScriptStagingLocation=/my_postscript/mystage
# If there are no additional scripts, this can be skipped
#domains.0.javaeeApps.0.additionalFiles.0.swLibPath=my_folder/calpp
#domains.0.javaeeApps.0.additionalFiles.0.fileName=additional.zip
#domains.0.javaeeApps.0.additionalFiles.0.stagingLocation=/my_add/mystage
# If there is no target execution script, this can be skipped
#domains.0.javaeeApps.0.targetExecScriptSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.targetExecScriptFileName=tscript.pl
#domains.0.javaeeApps.0.targetExecScriptStagingLocation=/my_exec/mystage
-
stopOnError: Java EEアプリケーションのアンデプロイ中にエラーが発生したときにデプロイメント・プロシージャを停止する必要がある場合は、このフラグをtrueに設定します。
-
operation: 実行中の操作のタイプ(Undeploy)です。
-
ドメインの詳細: これらのアプリケーションがアンデプロイされているWebLogicドメインの詳細を指定します。
domains.0.domainTargetName
: ここで-
0はドメインの索引です。
-
domainTargetNameは、Enterprise Managerでのターゲットの名前です。
-
domains.0.wlsCredType
: ドメインの資格証明です。使用可能な値は、Preferred、NewまたはNamed Credentialsです。
-
domains.0.wlsUserName
(オプション): 新しい資格証明が選択されている場合、ここにユーザー名を指定します。 -
domains.0.wlsPassword
(オプション): 新しい資格証明が選択されている場合、ここにパスワードを指定します。 domains.0.credName
(オプション): 名前付き資格証明が選択されている場合、その資格証明の名前と資格証明所有者の名前を<cred_name>:<owner_name>
の形式で指定します。たとえば、user1_creds:SYSMAN
です。
-
ホスト詳細:
管理サーバーのホスト詳細をここに指定します。-
hosts.0.hostName
: ここで:-
0は管理サーバーのホストの索引です。追加ファイルおよびターゲット実行スクリプトが存在する場合は、ドメイン内の他のすべてのホストに索引1、2、3などを使用する必要があります。
-
hostNameは、管理サーバーのホスト名です。
-
-
domains.0.hosts.0.hostCredType
: 管理サーバーの資格証明です。使用可能な値は、Preferred、NewまたはNamed Credentialsです。
-
domains.0.wlsUserName
(オプション): 新しい資格証明が選択されている場合、ここにユーザー名を指定します。 -
domains.0.wlsPassword
(オプション): 新しい資格証明が選択されている場合、ここにパスワードを指定します。 domains.0.credName
(オプション): 名前付き資格証明が選択されている場合、その資格証明の名前と資格証明所有者の名前を<cred_name>:<owner_name>
の形式で指定します。たとえば、user1_creds:SYSMAN
です。
-
-
アプリケーションの詳細:
アンデプロイするJava EEアプリケーションの詳細を指定します。-
javaeeApps.0.appName
: ここで:-
javaeeApps.0.appName: アンデプロイするJava EEアプリケーションの名前です。複数のアプリケーションをアンデプロイできるため、索引(0)はデプロイする各アプリケーションを識別します。
-
isSharedLib: アンデプロイするアプリケーションが共有ライブラリに存在する場合、このフラグをtrueに設定します。
-
stageMode ステージング・モードはDefault、StageおよびNo Stageです。
-
startMode: これはFull、AdminまたはDo not startです。
-
retirementPolicy: リタイア・ポリシーが使用可能な場合、このフラグをtrueに設定します。
-
retirementtimeout: リタイア・タイムアウト時間をここに指定します。
-
targets: アプリケーションがアンデプロイされるターゲットです。
-
deleteTarget:
アプリケーションをアンデプロイした後にターゲットを削除する場合、このフラグをtrueに設定します。 -
archiveSwLibPath: アーカイブを格納するソフトウェア・ライブラリ内の場所です。
-
archiveFileName: アーカイブ・ファイルの名前です。
-
archiveStagingLocation: アーカイブをステージングする管理サーバーのホスト上の場所です。
-
-
ノート:
残りのオプションのセクションでは、必要に応じてソフトウェア・ライブラリのパス、ファイル名およびステージングの場所を指定できます。EMCLIを使用したJava EEアプリケーションの再デプロイ
emcli submit_procedure -name="JAVAEE_APPLICATION_REDEPLOYMENT" -input_file=data="/input-redeploy.properties" [instance_name="javaee_redeploy"
サンプル入力ファイル
stopOnError=true
operation=Redeploy
#Host Creds for all the hosts part of the domain
domains.0.domainTargetName=/Farm01_wls1213_njrf_1c1ms/wls1213_njrf_1c1ms
domains.0.wlsCredType=New
domains.0.wlsUserName=wls_username
domains.0.wlsPassword=password
#domains.0.credName=wls_creds:SYSMAN
#Host Creds for all the hosts part of the domain
domains.0.hosts.0.hostName=hostname.example.com
domains.0.hosts.0.hostCredType=New
domains.0.hosts.0.hostUserName=user1
domains.0.hosts.0.hostPassword=KDsa0105
#domains.0.hosts.0.hostCredName=user1_creds:SYSMAN
#For each application
domains.0.javaeeApps.0.appName=MyCalender
domains.0.javaeeApps.0.isSharedLib=false
domains.0.javaeeApps.0.stageMode=DEFAULT
domains.0.javaeeApps.0.startMode=full
domains.0.javaeeApps.0.retirementPolicy=true
domains.0.javaeeApps.0.retirementTimeout=0
domains.0.javaeeApps.0.targets=Cluster_1
#domains.0.javaeeApps.0.deleteTarget=false
domains.0.javaeeApps.0.archiveSwLibPath=demo_folder/calendar_app
domains.0.javaeeApps.0.archiveFileName=Calendar.war
domains.0.javaeeApps.0.archiveStagingLocation=/my_arch/mystage
# If there is no plan, then this can be skipped
#domains.0.javaeeApps.0.planSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.planFileName=xyz.jar
#domains.0.javaeeApps.0.planStagingLocation=/my_plan/mystage
# If there is no predeploy script, this can be skipped
#domains.0.javaeeApps.0.preDeployScriptSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.preDeployScriptFileName=xyz.py
#domains.0.javaeeApps.0.preDeployScriptStagingLocation=/my_prescript/mystage
# If there is no postdeploy script, this can be skipped
#domains.0.javaeeApps.0.postDeployScriptSwLibPath=my_folder/calpp
#domains.0.javaeeApps.0.postDeployScriptFileName=xyz.py
#domains.0.javaeeApps.0.postDeployScriptStagingLocation=/my_postscript/mystage
# If there are no additional scripts, this can be skipped
#domains.0.javaeeApps.0.additionalFiles.0.swLibPath=my_folder/calpp
#domains.0.javaeeApps.0.additionalFiles.0.fileName=additional.zip
#domains.0.javaeeApps.0.additionalFiles.0.stagingLocation=/my_add/mystage
# If there is no target execution script, this can be skipped
#domains.0.javaeeApps.0.targetExecScriptSwLibPath=my_folder/my_script
#domains.0.javaeeApps.0.targetExecScriptFileName=script.pl
#domains.0.javaeeApps.0.targetExecScriptStagingLocation=/my_exec/mystage
ノート:
入力の詳細は、EMCLIを使用したJava EEアプリケーションのデプロイを参照してください。