ドキュメントAEM as a Cloud Serviceユーザーガイド

コードのデプロイ

最終更新日: 2025年5月7日
  • 適用対象:
  • Experience Manager as a Cloud Service
  • トピック:
  • Cloud Manager
  • 開発

作成対象:

  • 管理者
  • 開発者

AEM as a Cloud Service の Cloud Manager パイプラインを使用して、コードを実稼動環境にデプロイする方法を説明します。

実稼働パイプラインのダイアグラム

コードをステージング環境に、さらには実稼動環境にシームレスにデプロイするには、実稼動パイプラインを使用します。実稼動パイプラインの実行は、次の 2 つの論理フェーズに分かれます。

  1. ステージング環境へのデプロイメント - コードはビルドされたあと、ステージング環境にデプロイされて、自動化された機能テスト、UI テスト、エクスペリエンス監査、ユーザー受け入れテスト(UAT)が実施されます。
  2. 実稼動環境へのデプロイメント - ビルドがステージング環境で検証され、実稼動環境への昇格が承認されると、同じビルドアーティファクトが実稼動環境にデプロイされます。

コードスキャン、機能テスト、UI テスト、エクスペリエンス監査をサポートしているのは、フルスタックコードパイプラインタイプのみです。

デプロイメントプロセス

Cloud Service のすべてのデプロイメントでは、ダウンタイムをなくすために、ローリングプロセスに従います。詳しくは、ローリングデプロイメントの仕組みを参照してください。

メモ
Dispatcher のキャッシュは、デプロイメントのたびに消去されます。その後、新しいパブリッシュノードがトラフィックを受け入れる前に「ウォームアップ」されます。

AEM as a Cloud Service での Cloud Manager を使用したコードのデプロイ

リポジトリー、環境およびテスト環境を含め、実稼動パイプラインを設定したら、コードをデプロイする準備が整います。

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム ​コンソールで、コードをデプロイするプログラムをクリックします。

  3. 概要 ​ページのコールトゥアクション領域で、「デプロイ」をクリックします。

    CTA

  4. 実稼動へのデプロイ ​ページで、「ビルド」をクリックします。

    パイプライン実行画面

ビルドプロセスでは、次の 3 つの順序付きフェーズを経てコードがデプロイされます。

  1. ステージデプロイメントフェーズ
  2. ステージテストフェーズ
  3. 実稼動デプロイメントフェーズ
ヒント
テスト条件のログを表示したり結果を確認したりすることで、様々なデプロイメントプロセスのステップを確認できます。

ステージデプロイメントフェーズ

ステージのデプロイメント ​には、以下の手順が含まれます。

ステージデプロイメント手順
説明
検証
現在使用できるリソースを使用するようにパイプラインが設定されていることを確認します。例えば、設定済みの分岐が存在し、環境が使用可能であることをテストします。
ビルドおよび単体テスト
コンテナ化されたビルドプロセスを実行します。
ビルド環境について詳しくは、ビルド環境の詳細を参照してください。
コードスキャン
アプリケーションコードの品質を評価します。
テストプロセスの詳細については、コード品質テストを参照してください。
画像を作成
このプロセスでは、ビルドステップのコンテンツパッケージと Dispatcher パッケージが Docker イメージに変換されます。また、これらのパッケージに基づいて Kubernetes 設定も行います。
ステージにデプロイ
ステージテストフェーズに備えて、イメージがステージング環境にデプロイされます。

ステージデプロイメント

ステージテストフェーズ

ステージのテスト ​では、次の手順を実行します。

ステージテスト手順
説明
製品機能テスト
Cloud Manager パイプラインは、ステージング環境に対するテストを実行します。
製品機能テストも参照してください。
カスタム機能テスト
パイプラインのこのステップは常に実行され、スキップできません。ビルドでテスト JAR が生成されない場合、テストは自動的に合格となります。
カスタム機能テストも参照してください。
カスタム UI テスト
カスタムアプリケーション用に作成された UI テストを自動的に実行するオプション機能。
Selenium ベースの UI テストは、言語とフレームワークに柔軟性を持たせるため、Docker イメージにパッケージ化されています。このアプローチでは、Java と Maven、Node と WebDriver.io、または Selenium ベースのフレームワークやテクノロジーを使用できます。
カスタム UI テストも参照してください。
エクスペリエンス監査

パイプラインのこのステップは常に実行され、スキップできません。実稼動パイプラインの実行時に、チェックを実行するカスタム機能テストの後に、エクスペリエンス監査ステップが組み込まれます。

  • 設定されたページがサービスに送信され、評価されます。
  • 結果は情報提供であり、スコアおよび現在のスコアと以前のスコア間の変化を示します。
  • このインサイトは、現在のデプロイメントでリグレッションが導入されいないか判断するのに役立ちます。

エクスペリエンス監査結果についてを参照してください。

ステージテスト

実稼動デプロイメントフェーズ

AEM サイト訪問者への影響を最小限に抑えるために、実稼動トポロジへのデプロイプロセスはわずかに異なります。

実稼動デプロイメントは、通常、前述と同じステップに従いますが、周期的な方法で実行されます。これらの手順は次のとおりです。

  1. オーサーに AEM パッケージをデプロイします。
  2. dispatcher1 をロードバランサーから分離します。
  3. AEM パッケージを publish1 にデプロイし、Dispatcher パッケージを dispatcher1 にデプロイして、Dispatcher キャッシュをフラッシュします。
  4. dispatcher1 をロードバランサーに戻します。
  5. dispatcher1 がサービスを再開したら、dispatcher2 をロードバランサーから分離します。
  6. AEM パッケージを publish2 に、Dispatcher パッケージを dispatcher2 にデプロイして、Dispatcher キャッシュをフラッシュします。
  7. dispatcher2 をロードバランサーに戻します。

このプロセスは、デプロイメントがトポロジのすべてのパブリッシャーおよび Dispatcher に到達するまで続行されます。

実稼動デプロイメントフェーズ

デプロイメント中のタイムアウト

デプロイメント中にユーザーのフィードバックをを待機したままにすると、次の手順はタイムアウトします。

ステップ
タイムアウト
コード品質テスト
14 日
セキュリティテスト
14 日
パフォーマンステスト
14 日
アプリケーションの承認
14 日
実稼動デプロイメントをスケジュール
14 日
CSE サポート
14 日

実稼動デプロイメントの再実行

まれに、一時的な理由で実稼動デプロイメントステップが失敗すること場合があります。このような場合、実稼動デプロイメントステップの再実行は、完了のタイプ(キャンセル、失敗など)に関係なく、実稼動デプロイメントステップが完了している限りサポートされます。再実行の場合は、次の 3 つのステップで構成される同じパイプラインを使用して新しい実行が作成されます。

  1. 検証 - 通常のパイプライン実行時に行われる検証と同じです。
  2. ビルド - 再実行のコンテキストでは、ビルドステップは、新しいビルドプロセスを実際に実行するのではなく、アーティファクトをコピーします。
  3. 実稼動デプロイメント - 通常のパイプライン実行における実稼動デプロイメントステップと同じ設定およびオプションを使用します。

再実行が可能な状況では、実稼動パイプラインステータスページには、通常の「ビルドログをダウンロード」オプションの横に「再実行」オプションが表示されます。

パイプラインの概要ウィンドウの「再実行」オプション

NOTE
再実行の場合、ビルドステップには UI でラベルが付けられて、アーティファクトを再ビルドではなくコピーしていることが示されます。

使用上のメモ

  • 実稼動デプロイメントステップの再実行は、最後の実行に対してのみ使用できます。
  • プッシュ更新の実行に対しては、再実行を使用できません。最後の実行がプッシュ更新実行の場合、再実行はできません。
  • 実稼動デプロイメントステップ以前の任意の時点で最後の実行が失敗した場合、再実行はできません。

API の再実行

UI で使用できるだけでなく、Cloud Manager API を使用して再実行をトリガーしたり、再実行としてトリガーされた実行を識別したりすることもできます。

再実行のトリガー

再実行をトリガーするには、実稼動デプロイメントステップの状態で HAL リンク(https://ns.adobe.com/adobecloud/rel/pipeline/reExecute)に対して PUT リクエストを行います。

  • このリンクが存在する場合は、そのステップから実行を再開できます。
  • 存在しない場合は、そのステップから実行を再開することはできません。

このリンクは、実稼動デプロイメントステップでのみ使用できます。

 {
  "_links": {
    "https://ns.adobe.com/adobecloud/rel/pipeline/logs": {
      "href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/logs",
      "templated": false
    },
    "https://ns.adobe.com/adobecloud/rel/pipeline/reExecute": {
      "href": "/api/program/4/pipeline/1/execution?stepId=2983530",
      "templated": false
    },
    "https://ns.adobe.com/adobecloud/rel/pipeline/metrics": {
      "href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/metrics",
      "templated": false
    },
    "self": {
      "href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530",
      "templated": false
    }
  },
  "id": "6187842",
  "stepId": "2983530",
  "phaseId": "1575676",
  "action": "deploy",
  "environment": "weretail-global-b75-prod",
  "environmentType": "prod",
  "environmentId": "59254",
  "startedAt": "2022-01-20T14:47:41.247+0000",
  "finishedAt": "2022-01-20T15:06:19.885+0000",
  "updatedAt": "2022-01-20T15:06:20.803+0000",
  "details": {
  },
  "status": "FINISHED"

HAL リンクの href 値の構文は一例に過ぎません。実際の値は、常に HAL リンクから読み取られるべきものであり、生成されるものではありません。

このエンドポイントに PUT リクエストを送信すると、成功の場合は 201 応答が返され、応答の本文は新しい実行を表します。このワークフローは、API を使用して通常の実行を開始する場合と似ています。

再実行の実行の識別

再実行の実行は、trigger フィールドに値 RE_EXECUTE を設定することによって識別されます。

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab