この章では、Oracle Enterprise Manager Cloud Control (Cloud Control)を使用してJava EEアプリケーションをデプロイ、アンデプロイおよび再デプロイする方法について説明します。
この章の具体的な内容は次のとおりです。
この項では、Java EEアプリケーションのデプロイ、再デプロイおよびアンデプロイに関連する手順の概要を示します。「Java EEアプリケーションのデプロイ/アンデプロイ」デプロイメント・プロシージャを使用すると、次の操作を実行できます。
デプロイ
アンデプロイ
再デプロイ
この項は、Java EEアプリケーションのプロビジョニングを成功させるために必要な一連の処理を理解するためのドキュメント・マップと考えてください。各手順の参照リンクをクリックすると、詳細情報が説明されている関連セクションが表示されます。
表33-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仕様に基づいて.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では、リソース・グループ・テンプレート、グローバル・リソース・グループまたはパーティション・リソース・グループのデプロイ/再デプロイ/アンデプロイがサポートされています。
このデプロイメント・プロシージャは、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アプリケーションのデプロイ/アンデプロイ」デプロイメント・プロシージャを実行する前に、次の前提条件を満たしていることを確認してください。
「ソフトウェア・ライブラリ」が構成されていることを確認します。詳細は、「Oracleソフトウェア・ライブラリの設定」を参照してください。
Java EEアプリケーションのコンポーネントは、ソフトウェア・ライブラリ内に作成しておく必要があります。詳細は、Java EEアプリケーション・コンポーネントの作成を参照してください。
管理エージェントは、Java EEアプリケーションをデプロイ、アンデプロイまたは再デプロイしているWebLogicドメインの管理サーバー・ホスト・マシンにインストールする必要があります。デプロイメント・コマンドは、管理サーバー・ホスト・マシンから実行されます。
ターゲット実行スクリプトがデプロイメント・プロシージャの一部として実行されている場合、管理エージェントは、ターゲット実行スクリプトが実行されている管理対象サーバーのホスト・マシンにインストールする必要があります。
ターゲット実行スクリプトは、必要な環境の設定や、プロパティ・ファイルなどの追加ファイル内のトークンの交換に使用できます。このスクリプトは選択したターゲットで実行されます。
アーカイブ、デプロイ・プラン、デプロイ前スクリプト、デプロイ後スクリプト、ターゲット実行スクリプト、および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アプリケーションの再デプロイ
この項では、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=weblogic1 domains.0.wlsPassword=welcome1$ #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
入力ファイルの説明
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 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=weblogic1 domains.0.wlsPassword=welcome1$ #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 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=weblogic1 domains.0.wlsPassword=welcome1$ #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アプリケーションのデプロイを参照してください。