第20章 例: バンドルでのアプリケーションのデプロイ(一般的な)


バンドルは、完全なアプリケーション、設定ファイル、その他のコンテンツをリソースにデプロイする非常にクリーンかつ簡単な方法です。指定のリソースタイプがバンドルをサポートするかどうかは、プラグイン記述子で定義されます。デフォルトでは、プラットフォームリソースおよび JBoss AS 4、5、および 6 リソースはすべてサポートバンドルをサポートします。
バンドルは、すべてのコンテンツがリソースに依存しない単一の場所で維持されるため、管理観点からは便利です。メインバンドルエントリーまたはバンドル定義には、実際のバンドルファイルのバージョンと、そのコンテンツをデプロイできる宛先のセットが含まれます。宛先は、互換性のあるグループ、リソースタイプ、ディレクトリーパスの組み合わせです。バージョンが実際に宛先にデプロイされると、その宛先の特定のデプロイメントとして保存されます。
バンドルシステムは、特定のパッケージの複数のバージョンを維持し、それらのバージョンを任意の宛先にデプロイできます。これは、安定したバージョンを実稼働サーバーにデプロイでき、開発バージョンをテストマシンにデプロイできるため、アプリケーションのライフサイクルに最適なワークフローになります。宛先の別の子として表現される各デプロイメントを使用すると、変更を元に戻すことが容易になります。ライブバージョンから以前のバージョンに移動し、以前のデプロイメントがどのような表示であるかを正確に把握することができます。

20.1. バンドルバージョンおよび宛先の設定

バンドル定義には、バンドルバージョンと宛先という 2 つの部分があります。これらの部分はいずれも独立して設定され、最終的な定義に保存されます。
cliRoot/rhq-remoting-cli-4.9.0.JON320GA/samples/modules/ ディレクトリーの bundles.js スクリプトは、バンドルバージョンと定義を迅速に作成するカスタム関数のセットを定義します。(この bundles.js スクリプトには util.js スクリプトが必要です。)
宛先を作成するには、アップロードするバンドルアーカイブにローカルシステムの絶対パスを付与します。
rhqadmin@localhost:7080$ var path = '/export/files/myApp.zip'
rhqadmin@localhost:7080$ createBundleVersion(path)
Copy to Clipboard Toggle word wrap
The createBundleVersion bundles.js ファイルの関数は、ファイルをバイト配列としてアップロードします。
function createBundleVersion(pathToBundleZipFile) {
        var bytes = getFileBytes(pathToBundleZipFile)
        return BundleManager.createBundleVersionViaByteArray(bytes)
}
Copy to Clipboard Toggle word wrap
バンドル定義の 2 番目の部分は、バンドルバージョンをデプロイできる宛先を少なくとも 1 つ作成することです。宛先を作成するには、以下の 2 つの項目がすでに存在している必要があります。
  • バンドルバージョン(で作成したバンドルバージョン) createBundleVersion)
  • 互換性のあるグループ
宛先は、互換性のあるグループとデプロイ先のディレクトリーの組み合わせです。各リソースタイプは、独自の利用可能なベースディレクトリーを定義し、その root 下のサブディレクトリーをデプロイメントディレクトリーとして指定できます。
その他の設定プロパティーは、宛先名や説明など、エントリーの詳細です。
rhqadmin@localhost:7080$ var destinationName = 'New Destination'
rhqadmin@localhost:7080$ var description = 'My new example destination'
rhqadmin@localhost:7080$ var bundleName = 'myApp'
rhqadmin@localhost:7080$ var groupName = 'Linux Group'
rhqadmin@localhost:7080$ var baseDirName = '/'
rhqadmin@localhost:7080$ var deployDir = 'var/www/html/'
rhqadmin@localhost:7080$ createBundleDestination(destinationName, description, bundleName, groupName, baseDirName, deployDir)
Copy to Clipboard Toggle word wrap
The createBundleDestination 関数は、指定された名前に基づいてグループとバンドルの検索を実行します。これにより、追加の検索を実行せずに宛先を設定できます。
function createBundleDestination(destinationName, description, bundleName, groupName, baseDirName, deployDir) {
        var groupCrit = new ResourceGroupCriteria;
        groupCrit.addFilterName(groupName);
        var groups = ResourceGroupManager.findResourceGroupsByCriteria(groupCrit);

... 8< ...

        var group = groups.get(0);

        var bundleCrit = new BundleCriteria;
        bundleCrit.addFilterName(bundleName);
        var bundles = BundleManager.findBundlesByCriteria(bundleCrit);

... 8< ...
}
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat