aem-rde について
AEM Rapid Development Environment のデプロイ、診断、設定、スナップショット操作を Adobe I/O CLI で進めるためのベータスキルです。一般的な AEMaaCS のデプロイと RDE の作業を区別し、本番利用前の確認を促します。
主な機能
- 01RDE のデプロイコマンドと種別の選定
- 02状態、履歴、ログの確認
- 03ローカルおよび CI の設定案内
- 04スナップショット操作の説明
- 05破壊的操作前の確認
活用シーン
- 01Bundle や設定を RDE にデプロイ
- 02失敗した RDE 更新の調査
- 03CI 用の RDE 設定
- 04環境状態のバックアップと復元
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ adobe/ skills --skill aem-rdeインストール後、Claude Code で/aem-rdeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/commands.mdconfiguration.mddeployment-types.mdtroubleshooting.mdworkflows.md詳細
ベータ版スキル:このスキルはベータ版で、現在も積極的に開発されています。 本番環境で使用する前に、結果を慎重に確認してください。 問題は https://github.com/adobe/skills/issues で報告してください。
AEM RDE Plugin (aio aem rde) エキスパート
AEM Rapid Development Environments 向け Adobe I/O CLI プラグイン(@adobe/aio-cli-plugin-aem-rde)を使うユーザーを支援します。RDE は短期間使用する AEMaaCS 環境であり、高速な反復作業を目的としています。Cloud Manager のパイプラインを経由せず、バンドル、設定、コンテンツ、ディスパッチャー、フロントエンド、環境設定のアーティファクトを段階的にデプロイできます。
有効化の条件:ユーザーが RDE に関する概念(RDE、Rapid Development Environment、aio aem rde、@adobe/aio-cli-plugin-aem-rde、RDE スナップショットなど)に明示的に言及した場合にのみ、このスキルを使用してください。「ステージング環境にバンドルをプッシュして」「パブリッシュログを追跡して」「ディスパッチャーにデプロイして」といった一般的な AEMaaCS のデプロイ要求は Cloud Manager のパイプラインが対象であり、RDE ではありません。ほかの AEMaaCS スキルに引き継ぐか、作業を進める前に RDE のことかユーザーに確認してください。
役割は次のとおりです。
- ユーザーの目標に適した
aio aem rdeコマンドを提案します。適切なデプロイの種類、ターゲット(author/publish)、およびデプロイ後の手順も含めます。 status、history <id>、logs、inspectの出力を組み合わせて、RDE の問題を診断します。- セットアップと設定(org/program/env)、ローカル設定とグローバル設定、実験的な機能フラグ、CI/ビルド環境での使用方法を案内します。
- 環境の状態をリベースまたはバックアップする必要があるユーザーに、スナップショットの作成/復元/削除/削除取り消しの手順を案内します。
ユーザーの意図を尊重してください。確認なしに破壊的なコマンド(reset、snapshot delete --all、強制削除)を実行しないでください。
プラグインの基本情報
- パッケージ:
@adobe/aio-cli-plugin-aem-rde(aio/Adobe I/O CLI 10.3+ または 11+ 向け oclif プラグイン) - インストール:
aio plugins:install @adobe/aio-cli-plugin-aem-rde - 更新:
aio plugins:update - リポジトリ:
https://github.com/adobe/aio-cli-plugin-aem-rde - トピック:
aem:rde— 安定版コマンドaem:rde:inspect— 実験的、オプトインが必要aem:rde:snapshot— 実験的、オプトインが必要
- どちらの表記も使用でき、同等です:
aio aem rde …とaio aem:rde:…。
設定モデル — まず正しく理解してください
各 RDE コマンドには、Cloud Manager から取得する 3 つの ID が必要です。
| 設定キー | 意味 |
|---|---|
cloudmanager_orgid | IMS 組織 |
cloudmanager_programid | Cloud Manager プログラム |
cloudmanager_environmentid | RDE 環境 ID |
設定方法は 2 つあります。
- 対話形式(人間のユーザーに推奨):
aio loginを実行してからaio aem rde setupを実行します。org → program → env の選択画面が順に表示されます。必要に応じて、現在の作業ディレクトリにある.aioファイルに設定をローカル保存できます。 - スクリプト/CI(ビルド環境):
aio config:set cloudmanager_orgid <id>などを実行します。各プロジェクトでそれぞれの RDE 設定を固定できるよう、-l/--localフラグの使用を強く推奨します。使用しない場合、グローバル設定がリポジトリ間で引き継がれます。
aio aem rde setup --show を実行すると、現在有効な設定が表示されます。aio aem rde setup --enable-notifications/--disable-notifications を実行すると、時間のかかるタスクに対するデスクトップ通知を切り替えられます。
複数の RDE を使用する場合は、常にローカル設定を推奨してください。保存階層と複数環境を使用する具体的な手順については、references/configuration.md を参照してください。
実験的な機能 — オプトインが必要
inspect と snapshot のトピックは、設定フラグで制限されています。有効にするまでは、コマンドは存在していても実行できません。
# enable inspect locally for this project
aio config set -l -j aem-rde.experimental-features '["aem:rde:inspect"]'
# enable both inspect and snapshot
aio config set -l -j aem-rde.experimental-features '["aem:rde:inspect","aem:rde:snapshot"]'
また、スナップショットを使用するには、該当する EAP に顧客が登録されている必要があります。登録されていない場合、API は 451 NON_EAP を返します。
コマンド一覧(早見表)
安定版:
| コマンド | 概要 |
|---|---|
aio aem rde setup | 組織/プログラム/環境を対話形式で選択します |
aio aem rde status | 環境の状態とデプロイ済みアーティファクト(author/publish 別に分類されたバンドル/設定)を表示します |
aio aem rde install <location> | バンドル/設定/コンテンツ/ディスパッチャー/フロントエンド/環境設定のアーティファクトをデプロイします(URL またはパス) |
aio aem rde delete <id> | バンドル(BSN[-version])または OSGi 設定(PID)を削除します |
aio aem rde history [id] | 最近の更新を一覧表示します。id を指定すると、該当する更新のログを詳しく確認できます |
aio aem rde logs | ロガーレベルのフィルターとハイライトを使って AEM ログを追跡します |
aio aem rde restart | author と publish を再起動します |
aio aem rde reset | 環境をベース状態にリセットします。時間がかかりますが、変更可能なコンテンツを保持できます |
試験的 — aem:rde:inspect:*:
| コマンド | 目的 |
|---|---|
aio aem rde inspect inventory [id] | インベントリー(状態情報)のエントリーを一覧表示または取得します |
aio aem rde inspect osgi-bundles [id] | OSGi バンドルを一覧表示または個別に取得します |
aio aem rde inspect osgi-components [name] | OSGi コンポーネントを一覧表示または取得します |
aio aem rde inspect osgi-configurations [pid] | OSGi 設定を一覧表示または取得します |
aio aem rde inspect osgi-services [id] | OSGi サービスを一覧表示または取得します |
aio aem rde inspect request-logs [id] | リクエストログのエントリーを一覧表示、または個別に詳しく確認します |
aio aem rde inspect request-logs enable | リクエストログを有効にします(ターゲットごと) |
aio aem rde inspect request-logs disable | リクエストログを無効にします |
試験的 — aem:rde:snapshot:*:
| コマンド | 目的 |
|---|---|
aio aem rde snapshot | スナップショットを一覧表示します(最終使用日時順の表) |
aio aem rde snapshot create <name> [-d <desc>] | コンテンツとデプロイメントのスナップショットを作成します(RDE を 2~5 分間ロックします) |
aio aem rde snapshot restore <name> [--only-mutable-content] | スナップショットを復元します。完全復元では RDE が再起動します |
aio aem rde snapshot delete <name> [-f] [--all] | スナップショットを削除対象としてマークします(7 日間保持)。または、今すぐ完全に削除します |
aio aem rde snapshot undelete <name> | 削除保留中のスナップショットを削除対象から戻します |
各コマンドの引数とフラグの詳細は references/commands.md にあります。
共通の横断的なフラグ
-s, --target <author|publish>— 1 つのインスタンスに限定します。install/deleteはデフォルトで両方にデプロイし、inspect/logsはデフォルトでauthorを対象とします。--organizationId / --programId / --environmentId— 保存済み設定を一度限りで上書きします(一時的なスクリプトに便利です)。-q, --quiet— ログを出力せず、プロンプトも表示しません。機械処理用には--jsonと併用します。--json— JSON 形式の結果を返します(setup、logs、inspect:request-logs:enable/disableは非対応です。これらはenableJsonFlag: falseを宣言しています)。--no-color— CI での出力取得に適しています。
デプロイタイプ — install コマンドで最も判断が難しい項目
aio aem rde install <location> は、ローカルパスまたは公開 URL を受け付けます。--type フラグでは、次のいずれかを選択します。
osgi-bundle | osgi-config | content-package | content-file | content-xml |
dispatcher-config | frontend | env-config
--type を省略すると、プラグインはファイル拡張子と(ディスク上の zip の場合は)内容を確認してタイプを推測します。
| 入力 | 推測されるタイプ |
|---|---|
*.jar | osgi-bundle |
*.json | osgi-config |
jcr_root/ を含む zip | content-package |
conf.dispatcher.d/ を含む zip | dispatcher-config |
dist/ と package.json を含む zip | frontend |
*.yaml エントリを含む zip | env-config |
--path を指定した *.xml | content-xml |
--path を指定したその他のファイル | content-file |
ディレクトリで使えるのは frontend、dispatcher-config、env-config のみです。プラグインがその場で zip を作成します。それ以外のタイプは、明確なメッセージとともに失敗します。
content-file/content-xml の場合、--path は JCR リポジトリパスです。ソースパスが …/jcr_root/… の下にある場合、プラグインがパスを推測します。それ以外の場合は、明示的に指定してください。
-r, --restart は、続けて restart を実行します。デフォルトでは避けてください。RDE はほとんどすべてのデプロイでホットデプロイを受け付けます。OSGi または設定の変更で完全な再起動が本当に必要な場合にのみ使用してください。
-f, --force は、前回のアップロードが中断されて環境が操作できなくなった場合に使用します。必要な場合に限って使用してください。
ユーザーが成果物について説明したら、コマンドを提案する前にタイプと対象を推測してください。タイプごとのガイダンスや注意点については、references/deployment-types.md を参照してください。
logs コマンド — 便利な使い方
aio aem rde logs は、Ctrl-C を押すまで継続的にログを表示します。サーバー上に AEM のログ設定を作成し、500 ms ごとにポーリングして、色付きの出力を表示します。次の点に留意してください。
- レベルごとのロガーは、フラグを繰り返して指定します。
-i org.foo -i org.bar -d com.adobe.aem。レベルは-t/--trace、-d/--debug、-i/--info、-w/--warn、-e/--errorです。 - ロガーが指定されていない場合、プラグインはデフォルトで
-i ""(INFO 以上のすべて)を使用します。 -H "<substring>"は、一致する行を白で強調表示します(繰り返し指定できます)。-f "<logback-pattern>"はフォーマットを上書きします。デフォルトにはタイムスタンプ、レベル、スレッド、ロガー、メッセージが含まれます。--choose— 既存のログ設定から選択する対話型ピッカーです(別のチームメンバーがすでに設定を有効にしている場合に便利です)。-s/--targetのデフォルトはauthorです。publish 側のログを表示するにはpublishを指定します。- AEM では、環境ごとに同時に設定できるログ設定の数が少数に制限されています。
405が発生すると、プラグインは既存の設定を削除するかどうかを確認します。
logs と status/history を組み合わせたトリアージのワークフローについては、references/workflows.md を参照してください。
失敗した場合
このプラグインでは、以下の終了コードを使用します(CI で役立ちます)。
| コード | 意味 |
|---|---|
| 1 | 一般的なエラー/捕捉されていないエラー |
| 2 | 設定エラー |
| 3 | フラグまたは引数の検証エラー |
| 4 | デプロイエラー |
| 5 | 内部エラー — 再試行で解決する場合があります |
| 40 | デプロイが完全には実行されていない(パイプラインの途中では許容される場合があります) |
診断手順(順番に実行してください):
aio aem rde setup --show— 正しい環境を参照していることを確認します。aio aem rde status— 環境はReadyになっていますか? 実際にデプロイされているものは何ですか?aio aem rde history— 最新の更新を確認し、失敗した更新の ID を取得します。aio aem rde history <id>— その更新に関するインスタンスごとの詳細なログを確認します。aio aem rde logs -e "" -w ""— エラーと警告を追跡して、新たな症状がないか確認します。aio aem rde inspect …(有効な場合) — OSGi の状態を読み取り、バンドル/コンポーネント/設定が正しく接続されていることを確認します。
references/troubleshooting.md には、エラー → 考えられる原因 → 解決方法の詳細な対応表があります。スナップショット固有のエラーコード(SNAPSHOT_NOT_FOUND、SNAPSHOT_LIMIT、INVALID_STATE、SNAPSHOT_CREATION_STUCK など)と、NON_EAP/DIFFERENT_ENV_TYPE 設定エラーも記載されています。
このスキルの使い方
ユーザーから質問された場合:
- 「X をデプロイするにはどうすればよいですか?」 — 成果物を特定し、適切な
--typeを選び、author/publish のどちらにするかを決めて、installを提案します。必要な場合に限り--restartを案内します。種類の選択がわかりにくい場合に限り、deployment-types.mdを参照します。 - 「デプロイに失敗しました。」 — 上記の診断手順に沿って進めます。ユーザーの出力から更新 ID を探し、わからない場合は
history <id>の実行結果を尋ねます。 - 「プログラム/環境を切り替えたいです。」 —
aio aem rde setupを提案します(IMS 組織を切り替える場合はaio logout+setup)。複数の RDE を使い分ける場合は、-lストレージを推奨します。 - 「スナップショットを作成したいです。」 — 顧客がスナップショット EAP を有効にしていることを確認してから、作成/復元の手順を案内します。処理を中断されないよう、想定所要時間(作成:約 3~8 分、復元:約 7~15 分)を必ず伝えます。
- 「デプロイ済みのものを確認したいです。」 — まず
aio aem rde statusを実行します。OSGi レベルの詳細はinspect osgi-bundles/osgi-components/osgi-configurationsで確認します。 - 「CI でスクリプトを実行するにはどうすればよいですか?」 — 3 つの ID には
aio config:set -lを、コマンドには--quiet --jsonを推奨し、setupは対話型であるため使用しないよう注意します。
単一のコマンドについて詳しい説明が必要な場合は、推測せずに該当するリファレンスファイルを読みます。説明、フラグ、エラーコードはリリースごとに変更されます。
リファレンスファイル
必要に応じて参照してください。
references/commands.md— 安定版と実験的なコマンドすべてについて、コマンドごとの引数/フラグ/使用例を詳しく記載しています。references/configuration.md— 設定の保存階層、複数の RDE を扱うパターン、.aioファイル、実験的機能のフラグ、通知について記載しています。references/deployment-types.md— 各--typeの詳しいガイダンス、ソースパスの規則、content-file/content-xmlでの--pathの扱い、種類の推測ルール、注意点について記載しています。references/workflows.md— 初回セットアップ、デプロイと検証、ログのトリアージ、リセットと再起動とスナップショットからの復元、環境の切り替え、CI の使用方法を、最初から最後まで順を追って説明しています。references/troubleshooting.md— エラーコード → 意味 → 解決方法、スナップショット/非 EAP エラー、よくあるデプロイ失敗と復旧方法を記載しています。