パッケージマネージャー working-with-packages
パッケージを使用すると、リポジトリコンテンツのインポートとエクスポートが可能になります。パッケージを使用すると、新しいコンテンツのインストール、インスタンス間でのコンテンツの転送、リポジトリコンテンツのバックアップを行うことができます。
パッケージマネージャーを使用すると、開発目的で、AEM インスタンスとローカルファイルシステムの間でパッケージを転送できます。
パッケージとは what-are-packages
パッケージとは、リポジトリコンテンツをファイルシステムのシリアル化形式で保持する zip ファイルであり、コンテナのシリアル化と呼ばれ、使いやすく編集しやすい形式でファイルやフォルダーを表します。パッケージに含まれるコンテンツは、フィルターを使用して定義します。
パッケージには、フィルター定義や読み込み設定情報など、コンテナのメタ情報も含まれています。説明、視覚的な画像、アイコンなど、パッケージの抽出には使用されない追加のコンテンツプロパティをパッケージに含めることができます。これらの追加のコンテンツプロパティは、コンテンツパッケージのコンシューマー向けのもので、情報提供だけを目的としています。
AEM as a Cloud Service のパッケージ aemaacs-packages
AEM as a Cloud Service のアプリケーション用に作成されたコンテンツパッケージでは、不変コンテンツと可変コンテンツを明確に分離する必要があります。そのため、パッケージマネージャーは、コンテンツを含むパッケージの管理にのみ使用できます。すべてのコードは、Cloud Manager を使用してデプロイする必要があります。
/apps
で保存されたコンテンツなど)は、Cloud Manager の CI/CD パイプラインを使用してデプロイする必要があります。AEMaaCS 用のパッケージを管理する方法について詳しくは、デプロイユーザーガイドの AEM as a Cloud Service へのデプロイを参照してください。
パッケージサイズ package-size
アドビでは、大規模なパッケージを作成しないことをお勧めします。パッケージのアップロードおよびダウンロード時のタイムアウトの問題を回避するためです。
原則として、60 秒以内にパッケージ全体を送信する必要があります。これにより、次の数式がガイドとして提供されます。
MaxPackageSize (in MB) = ConnectionSpeed (in MB/s) * 60 s
ネットワークトラフィックは変動し、常に宣伝されている理論上の最大値より小さいため、オンラインのインターネット接続速度テストツールを使用してみてください。
インターネットの速度は、アップロードとダウンロードではほとんどの場合異なります。パッケージのアップロードとダウンロードの両方が必要な場合は、計算に低い値(通常はアップロード速度)を使用する必要があります。
例 example
インターネット速度テストツールを使用すると、現在のアップロード速度が約 100 Mbps であることがわかります。
100 Mbps = 12.5 MB/s
12.5 MB/s * 60 s = 750 MB
そのため、作成するパッケージは 750 MB 未満にする必要があります。
パッケージマネージャー package-manager
パッケージマネージャーは、AEM インストール上のパッケージを管理します。必要な権限の割り当てを行うと、パッケージマネージャーを使用してパッケージの設定、ビルド、ダウンロード、インストールなど様々なアクションを実行できます。
必要な権限 required-permissions
パッケージを作成、変更、アップロード、インストールするには、次のノードで適切な権限が必要です。
/etc/packages
での削除を除く完全な権限- パッケージコンテンツを含むノード
パッケージマネージャーへのアクセス accessing
パッケージマネージャーには次の 3 つの方法でアクセスできます。
- AEM のメインメニューから ツール/デプロイメント/パッケージ を選択
- CRXDE Lite から上部のスイッチャーバーを使用
http://<host>:<port>/crx/packmgr/
に直接アクセス
パッケージマネージャー UI ui
パッケージマネージャーは、次の 4 つの主な機能領域に分かれています。
-
左側のナビゲーションパネル - このパネルでは、パッケージのリストをフィルタリングおよび並べ替えることができます。
-
パッケージリスト - これは、左側のナビゲーションパネルでの選択に従ってフィルタリングおよび並べ替えられた、インスタンス上のパッケージのリストです。
-
アクティビティログ - このパネルは最初は最小化され、パッケージのビルド時やインストール時などに、パッケージマネージャーのアクティビティの詳細を表示するために拡張されます。「アクティビティログ」タブには、次の操作を行うための追加のボタンがあります。
- ログを消去
- 表示/非表示
-
ツールバー - ツールバーには、左側のナビゲーションパネルとパッケージリスト用の更新ボタン、およびパッケージを検索、作成、アップロードするための各ボタンが含まれています。
左側のナビゲーションパネルでオプションをクリックすると、パッケージリストが直ちにフィルタリングされます。
パッケージ名をクリックすると、「パッケージリスト」のエントリが展開され、パッケージの詳細が表示されます。
パッケージの詳細を展開すると、ツールバーのボタンを使用して、パッケージに対して様々なアクションを実行できます。
「その他」ボタンの下にあるその他のアクションを利用できます。
パッケージのステータス package-status
パッケージリスト内の各エントリには、パッケージのステータスを一目で把握できるステータスインジケーターが表示されます。ステータスの上にマウスポインターを置くと、ステータスの詳細を示すツールヒントが表示されます。
パッケージが変更された、または構築されなかった場合、ステータスは、パッケージを再構築またはインストールするためのクイックアクションを実行するリンクとして表示されます。
パッケージ設定 package-settings
パッケージとは基本的に、一連のフィルターと、これらのフィルターに基づくリポジトリデータです。パッケージマネージャーの UI を使用して、パッケージをクリックし、「編集」ボタンをクリックすると、次の設定を含むパッケージの詳細が表示されます。
一般設定 general-settings
様々なパッケージ設定を編集して、パッケージの説明、依存関係、プロバイダー詳細などの情報を定義できます。
パッケージ設定 ダイアログは、パッケージの作成中または編集中に「編集」ボタンから使用できます。変更が完了したら、「 保存」をクリックします。
パッケージフィルター package-filters
フィルターは、パッケージに含めるリポジトリノードを識別します。フィルター定義 によって、以下の情報が指定されます。
- 含めるコンテンツの ルートパス
- ルートパスの下で特定のノードを含める、または除外する ルール。
「+ 」ボタンを使用して、ルールを追加します。「- 」ボタンを使用してルールを削除します。
ルールは順序に従って適用されるため、必要に応じて 上向き および 下向き の矢印ボタンを使用してルールを配置します。
フィルターにはルールを含めないことも、いくつか含めることもできます。ルールを何も定義しない場合、パッケージにはルートパスの下のすべてのコンテンツが含まれます。
1 つのパッケージに対して 1 つまたは複数のフィルター定義を指定できます。複数のルートパスのコンテンツを含めるには、複数のフィルターを使用します。
フィルターを作成する際、パスを定義するか、正規表現(regex、regexp、または有理式とも呼ばれる)を使用することにより、含めたり除外したりするすべてのノードを指定できます。
パッケージフィルターが定義されるのは、ほとんどの場合、最初にパッケージを作成するときです。 ただし、後で編集することもできますが、後でパッケージを再作成して、新しいフィルター定義に基づいてその内容を更新する必要があります。
依存関係 dependencies
AEMaaCS
groupId:name:version
groupId:name:version
詳細設定 advanced-settings
WKND Media Group
https://wknd.site
https://wknd.site/package/
再起動 - AEM はパッケージのインストール後に再起動する必要があります。
上書き - リポジトリ内の ACL を上書きします。
結合 - 両方の ACL セットを結合します。
MergePreserve - コンテンツ内に存在しないプリンシパルのアクセス制御エントリを追加して、コンテンツ内のアクセス制御をパッケージに付属するエントリと結合します。
クリア - ACL をクリアします。
パッケージスクリーンショット package-screenshots
パッケージに複数のスクリーンショットを添付して、コンテンツがどのように表示されるかを視覚的に示すことができます。
パッケージアクション package-actions
1 つのパッケージで実行できるアクションは多数あります。
パッケージの作成 creating-a-new-package
-
「パッケージを作成」をクリックします。
note tip TIP インスタンスに多数のパッケージがある場合は、フォルダー構造が存在する可能性があります。そのような場合は、新しいパッケージを作成する前に必要なターゲットフォルダーに移動する方が簡単です。 -
新規パッケージ ダイアログで、次のフィールドを入力します。
-
パッケージ名 - パッケージのコンテンツを(その他のユーザーが)簡単に識別できるように、わかりやすい名前を選択します。
-
バージョン - バージョンを示すためのテキストフィールドです。これはパッケージ名に追加され、zip ファイルの名前を形成します。
-
グループ - ターゲットグループ(またはフォルダー)の名前です。グループは、パッケージの整理に役立ちます。グループのフォルダーがまだ存在しない場合は作成されます。グループ名を空白のままにすると、メインのパッケージリストにパッケージが作成されます。
-
-
「OK」をクリックしてパッケージを作成します。
-
AEM では、新しいパッケージがパッケージのリストの最上部に表示されます。
-
「編集」をクリックして、パッケージの内容を定義します。設定の編集が完了したら、「保存」をクリックします。
-
これで、パッケージをビルドできます。
パッケージを作成した後すぐにビルドする必要はありません。未ビルドパッケージにはコンテンツが含まれず、フィルターデータとパッケージの他のメタデータのみで構成されます。
パッケージのビルド building-a-package
多くの場合、パッケージはパッケージを作成と同時にビルドされますが、後の時点で戻ってビルドまたはリビルドのいずれかを行うことができます。これは、リポジトリ内のコンテンツが変更された場合や、パッケージフィルターが変更された場合に役立ちます。
-
パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。
-
「ビルド」をクリックします。パッケージをビルドすると既存のパッケージの内容が上書きされるので、実行するかどうかを確認するダイアログボックスが表示されます。
-
「OK」をクリックします。AEM はパッケージをビルドし、パッケージに追加されたすべてのコンテンツをアクティビティリストに表示します。パッケージの構築が完了すると、パッケージが構築されたことを示すダイアログが表示されます。また、(このダイアログを閉じると)パッケージリストの内容が更新されます。
パッケージの編集 edit-package
パッケージを AEM にアップロードした後は、その設定を変更できます。
-
パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。
-
「編集」をクリックして、必要に応じて パッケージ設定 を更新します。
-
「保存」をクリックして、保存します。
変更した内容を反映するには、パッケージを再構築する必要がある場合があります。
パッケージを再度含める rewrapping-a-package
パッケージは、ビルド後に再度含めることができます。再度含めると、パッケージのコンテンツを変更せずに、サムネール、説明などを含まないパッケージ情報を変更します。
-
パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。
-
「編集」をクリックして、必要に応じて パッケージ設定 を更新します。
-
「保存」をクリックして、保存します。
-
その他/再度含める をクリックすると、確認のダイアログが表示されます。
他のパッケージバージョンの表示 other-versions
パッケージのすべてのバージョンは他のパッケージとしてリストに表示されるので、パッケージマネージャーは選択したパッケージの他のバージョンを検索できます。
-
パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。
-
その他/その他のバージョン をクリックすると、同じパッケージの他のバージョンとステータス情報が表示されたダイアログが開きます。
パッケージコンテンツの表示とインストールのテスト viewing-package-contents-and-testing-installation
パッケージがビルドされたら、コンテンツを表示できます。
-
パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。
-
コンテンツを表示するには、その他/コンテンツ をクリックします。パッケージマネージャーには、パッケージのコンテンツ全体がアクティビティログにリストされます。
-
インストールのドライランを実行するには、その他/インストールをテスト をクリックします。パッケージマネージャーは、インストールが実行されたかのように結果をアクティビティログにレポートします。
ファイルシステムへのパッケージのダウンロード downloading-packages-to-your-file-system
-
パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。
-
ダウンロード ボタンか、パッケージのリンクされたファイル名(パッケージの詳細領域内)をクリックします。
-
AEM がお使いのコンピューターにパッケージをダウンロードします。
ファイルシステムからのパッケージのアップロード uploading-packages-from-your-file-system
-
パッケージのアップロード先となるグループフォルダーを選択します。
-
「パッケージをアップロード」ボタンをクリックします。
-
アップロードしたパッケージに関する必要な情報を入力します。
- パッケージ - 「参照…」ボタンを使用して、必要なパッケージをローカルファイルシステムから選択します。
- アップロードを強制 - この名前のパッケージが既に存在する場合は、このオプションを選択するとアップロードが強制され、既存のパッケージが上書きされます。
-
「OK」をクリックすると、選択したパッケージがアップロードされ、それに応じてパッケージリストが更新されます。
パッケージコンテンツが AEM に存在しますが、コンテンツを使用できるようにするには、パッケージのインストールを行ってください。
パッケージの検証 validating-packages
パッケージは既存のコンテンツを変更する可能性があるので、多くの場合、インストール前にこれらの変更を検証すると便利です。
検証オプション validation-options
パッケージマネージャーは次の検証を実行できます。
OSGi パッケージの読み込みを検証 osgi-package-imports
チェック内容
この検証では、パッケージ内のすべての JAR ファイル(OSGi バンドル)を調べ、それらの manifest.xml
(OSGi バンドルが依存しているバージョン付きの依存関係が含まれているファイル)を抽出し、AEM インスタンスが正しいバージョンで依存関係を書き出すかを確認します。
レポートの方法
AEM インスタンスで解決できないバージョン付きの依存関係は、パッケージマネージャーのアクティビティログに記載されます。
エラーの状態
未解決の依存関係がある場合、それらの依存関係を持つパッケージ内の OSGi バンドルは開始しません。この結果、起動されていない OSGi バンドルに依存しているものが正しく機能しなくなるため、アプリケーションのデプロイが破損します。
エラーの解決
OSGi バンドルが満たされていないことによるエラーを解決するには、満たされていない読み込みがあるバンドル内の依存関係のバージョンを調整する必要があります。
オーバーレイを検証 overlays
チェック内容
この検証では、インストールするパッケージに、宛先の AEM インスタンスにすでにオーバーレイされているファイルが含まれているかどうかを確認します。
例えば、既存のオーバーレイが /apps/sling/servlet/errorhandler/404.jsp
にある場合、/libs/sling/servlet/errorhandler/404.jsp
を含むパッケージは、/libs/sling/servlet/errorhandler/404.jsp
の既存のファイルを変更します。
レポート方法
そのようなオーバーレイは、パッケージマネージャーのアクティビティログに記載されます。
エラーの状態
パッケージがすでにオーバーレイされているファイルをデプロイしようとしています。したがって、パッケージ内の変更はオーバーレイによって上書きされ(つまり「非表示」となり)、有効になりません。
エラーの解決
この問題を解決するために、/apps
のオーバーレイファイルのメンテナンス者は、/libs
のオーバーレイファイルへの変更を確認する必要があります。必要に応じて変更をオーバーレイ(/apps
)に組み込み、オーバーレイしたファイルを再デプロイします。
ACL を検証 acls
チェック内容
この検証では、どの権限が追加されるか、それらがどのように処理されるか(結合/置換)、および現在の権限が影響を受けるかどうかを確認します。
レポート方法
権限については、パッケージマネージャーのアクティビティログに記載されます。
エラーの状態
明示的なエラーはありません。この検証は、パッケージをインストールすることで新しい ACL 権限が追加されるか、または影響があるかどうかを示すだけです。
エラーの解決
検証によって提供された情報を使用して、影響を受けたノードを CRXDE で確認したり、必要に応じて ACL をパッケージ内で調整したりできます。
検証の実行 performing-validation
パッケージの検証は 2 通りの方法で行うことができます。
検証は、パッケージをアップロードした後で、インストールする前に必ず行う必要があります。
パッケージマネージャーによるパッケージ検証 via-package-manager
-
パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。
-
パッケージを検証するには、その他/検証 をクリックします。
-
表示されるモーダルダイアログボックスで、チェックボックスを使用して検証の種類を選択し、「検証」をクリックして検証を開始します。
-
選択した検証が実行され、結果がパッケージマネージャーのアクティビティログに表示されます。
HTTP POST リクエストを介したパッケージ検証 via-post-request
POST リクエストの形式は以下のとおりです。
https://<host>:<port>/crx/packmgr/service.jsp?cmd=validate&type=osgiPackageImports,overlays,acls
type
パラメーターは、カンマで区切った順不同リストで、次のように構成されます。
osgiPackageImports
overlays
acls
明示的に値が渡されなかった場合、type
のデフォルト値は osgiPackageImports
に設定されます。
cURL を使用している場合は、次のようなステートメントを実行してください。
curl -v -X POST --user admin:admin -F file=@/Users/SomeGuy/Desktop/core.wcm.components.all-1.1.0.zip 'http://localhost:4502/crx/packmgr/service.jsp?cmd=validate&type=osgiPackageImports,overlays,acls'
POST リクエストを介して検証する場合、応答は JSON オブジェクトとして返されます。
パッケージカバレッジの表示 package-coverage
パッケージは、フィルターによって定義されます。パッケージマネージャーで既存のリポジトリコンテンツにパッケージのフィルターを適用して、パッケージのフィルター定義でカバーされるリポジトリのコンテンツを表示できます。
-
パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。
-
その他/対象範囲 をクリックします。
-
有効範囲の詳細は、アクティビティログにリストされます。
パッケージのインストール installing-packages
パッケージをアップロードすると、パッケージのコンテンツがリポジトリに追加するだけで、アクセスすることはできません。パッケージのコンテンツを使用するには、アップロードしたパッケージをインストールする必要があります。
パッケージをインストールする前に、上書きされるコンテンツを含むスナップショットパッケージがパッケージマネージャーによって自動的に作成されます。このスナップショットは、パッケージをアンインストールした場合に再インストールされます。
-
パッケージ名をクリックして、パッケージリストからインストールするパッケージの詳細を開きます。
-
項目の詳細の「インストール」 ボタンまたは「インストール」リンクのいずれかをクリックします。
-
確認を求めるダイアログが表示され、追加のオプションを指定できます。
- 抽出のみ - パッケージの抽出のみを行い、スナップショットは作成されず、そのためアンインストールはできません
- しきい値を保存 - 自動保存がトリガーされるまでの一時的なノード数です(同時修正の例外が発生した場合に増加します)
- サブパッケージを抽出 - サブパッケージの自動抽出を有効にします
- アクセス制御の処理 - パッケージのインストール時に、パッケージで定義されたアクセス制御情報を処理する方法を指定します(オプションは詳細パッケージ設定と同じです)
- 依存関係の処理 - インストール中の依存関係の処理方法を指定します
-
「インストール」をクリックします。
-
インストールの進行状況の詳細は、アクティビティログに記録されます。
インストールが正常に完了すると、パッケージリストが更新され、「インストール済み」がパッケージのステータスに表示されます。
パッケージの再インストール reinstalling-packages
パッケージの再インストールでは、すでにインストールされているパッケージに対して、最初にパッケージをインストールした時の処理と同じ手順を実行します。
ファイルシステムベースのアップロードおよびインストール file-system-based-upload-and-installation
パッケージをインストールする際に、完全にパッケージマネージャーなしで済ませることができます。AEM は、ホストマシンのローカルファイルシステム上の特定の場所に配置されたパッケージを検出し、それらを自動的にアップロードしてインストールできます。
-
AEM インストールフォルダーに、jar ファイルや
license.properties
ファイルと並んでcrx-quicksart
フォルダーがあります。パス<aem-home>/crx-quickstart/install
で生成されたcrx-quickstart
の下にinstall
という名前のフォルダーを作成します。 -
このフォルダーにパッケージを追加します。追加したパッケージは、インスタンスに自動的にアップロードおよびインストールされます。
-
アップロードとインストールが完了すると、パッケージマネージャー UI を使用してパッケージをインストールしたかのように、パッケージマネージャーにパッケージが表示されます。
インスタンスを実行している場合、install
フォルダーへのパッケージにインスタンスを追加すると、直ちにアップロードとインストールが始まります。
インスタンスを実行していない場合、install
フォルダーに配置されたパッケージは、起動時にアルファベット順にインストールされます。
パッケージのアンインストール uninstalling-packages
パッケージをアンインストールすると、リポジトリの内容は、インストール前にパッケージマネージャーが自動的に作成したスナップショットに戻ります。
-
パッケージ名をクリックして、アンインストールするパッケージの詳細をパッケージリストから開きます。
-
その他/アンインストール をクリックして、リポジトリからこのパッケージのコンテンツを削除します。
-
確認を求めるダイアログが表示され、行われているすべての変更が一覧表示されます。
-
パッケージが削除され、スナップショットが適用されます。処理の進行状況がアクティビティログに表示されます。
パッケージの削除 deleting-packages
パッケージを削除すると、パッケージマネージャーからその詳細のみが削除されます。このパッケージが既にインストールされている場合、インストール済みのコンテンツは削除されません。
-
パッケージ名をクリックして、パッケージリストから削除するパッケージの詳細を開きます。
-
パッケージを削除してよいかどうか確認するダイアログが表示されます。「OK」をクリックして削除を確認します。
-
パッケージ情報が削除され、詳細がアクティビティログに報告されます。
パッケージのレプリケーション replicating-packages
パッケージのコンテンツをレプリケートして、パブリッシュインスタンスにインストールします。
-
パッケージ名をクリックして、パッケージリストから複製するパッケージの詳細を開きます。
-
その他/複製 をクリックします。
-
パッケージがレプリケートされ、詳細がアクティビティログに報告されます。
ソフトウェア配布 software-distribution
AEM パッケージを使用すると、コンテンツを作成して AEMaaCS 環境全体で共有できます。
ソフトウェア配布 は、ローカル開発の AEM SDK で使用するための AEM パッケージを提供します。ソフトウェア配布で提供される AEM パッケージは、アドビサポートが明示的に承認しない限り、AEMaaCS クラウド環境にインストールできません。
詳しくは、ソフトウェア配布ドキュメントを参照してください。