コードをデプロイする方法と、その際に Cloud Manager で起こることについて説明します。
必要なリポジトリと環境を含む実稼動パイプラインを設定したら、コードをデプロイする準備が整います。
Cloud Manager で「デプロイ」をクリックして、デプロイメントプロセスを開始します。
パイプライン実行画面が表示されます。「ビルド」をクリックしてプロセスを開始します。
ビルドプロセスは、次の手順を含むコードデプロイメントプロセスを開始します。
テスト条件のログを表示したり、結果を確認したりして、様々なデプロイメントプロセスの手順を確認できます。
この節で説明するように、デプロイメントの各手順で多数のアクションが実行されます。 の節を参照してください。 デプロイメントプロセスの詳細 コード自体のバックグラウンドでのデプロイ方法に関する技術的な詳細。
この ステージのデプロイメント 手順には、次の操作が含まれます。
この ステージテスト 手順には、次の操作が含まれます。
セキュリティテスト:この手順では、AEM環境に対するコードのセキュリティへの影響を評価します。 ドキュメントを参照 テスト結果について を参照してください。
この 実稼動のデプロイメント ステップには、次のアクションが含まれます。
このオプションは、パイプラインの設定時に有効になります。
スケジュールされた日時は、ユーザーのタイムゾーンで指定されます。
デプロイメントが完了すると、コードはターゲット環境に配置され、ログを表示できます。
ユーザーのフィードバックを待機したままにすると、次の手順はタイムアウトします。
ステップ | タイムアウト |
---|---|
コード品質テスト | 14 日 |
セキュリティテスト | 14 日 |
パフォーマンステスト | 14 日 |
アプリケーションの承認 | 14 日 |
実稼動デプロイメントをスケジュール | 14 日 |
CSE サポート | 14 日 |
Cloud Manager は、ビルドプロセスによって生成されたすべての target/*.zip ファイルをステージの場所にアップロードします。これらのアーティファクトは、パイプラインのデプロイフェーズで、この場所から取得されます。
Cloud Manager が実稼動以外のトポロジにデプロイされる場合、目的はできるだけ早くデプロイメントを完了することです。そのため、アーティファクトは、以下のようにすべてのノードに同時にデプロイされます。
Cloud Manager は、各アーティファクトが AEM または Dispatcher パッケージであるかどうかを判断します。
Cloud Manager は、デプロイメント中に環境を分離するために、ロードバランサーからすべての Dispatcher を削除します。
この機能は、主に 1-1-1 のお客様が使用すると想定されています。
各 AEM アーティファクトは、パッケージマネージャー API を介して各 AEM インスタンスにデプロイされ、パッケージの依存関係がデプロイメントの順序を決定します。
すべての AEM アーティファクトは、オーサーとパブリッシャーの両方にデプロイされます。ノード専用の設定が必要な場合は、実行モードを使用する必要があります。特定の目的のために実行モードを使用してAEMインスタンスを調整できるようにする方法について詳しくは、 ドキュメント「AEMへのデプロイ」の「実行モード」の節を参照してください。
Dispatcher のアーティファクトは、以下のように各 Dispatcher にデプロイされます。
httpd
ディレクトリに抽出されます。不変ファイルは上書きされません。Git リポジトリー内の不変ファイルに対して加えた変更は、デプロイメント時に無視されます。これらのファイルは AMS Dispatcher フレームワークのコアであり、変更できません。Cloud Manager では、Dispatcher アーティファクトに完全なファイルセットが含まれていることが想定されています。すべての Dispatcher 設定ファイルが、Git リポジトリーに存在する必要があります。ファイルやフォルダーが見つからない場合、デプロイメントに失敗します。
すべての AEM および Dispatcher パッケージのすべてのノードへのデプロイメントが正常に完了すると、Dispatcher がロードバランサーに再追加され、デプロイメントが完了します。
開発およびステージングデプロイメントでのロードバランサーの変更(開発環境、非実稼動パイプラインの両方でのデタッチとアタッチの手順、およびステージング環境での実稼動パイプラインの手順など)をスキップできます。
AEMサイト訪問者への影響を最小限に抑えるために、実稼動トポロジへのデプロイプロセスは少し異なります。
実稼動のデプロイメントは、通常、上記と同じ手順に従いますが、周期的な方法で実行します。
このプロセスは、デプロイメントがトポロジのすべてのパブリッシャーおよび Dispatcher に到達するまで続行されます。
重大な状況では、Adobe Managed Services のお客様が、Cloud Manager のテストサイクルが完全に実行されるのを待たずに、ステージング環境および実稼動環境にコード変更をデプロイしなければならない場合があります。
このような状況に対処するために、Cloud Manager の実稼動パイプラインは、緊急モードで実行することができます。このモードを使用すると、セキュリティとパフォーマンスのテスト手順は実行されません。設定済みの承認ステップを含むその他すべてのステップは、通常のパイプライン実行モードと同様に実行されます。
緊急パイプライン実行モード機能は、カスタマーサクセスエンジニアがプログラムごとに有効化します。
実稼動パイプラインの実行を開始する際に、プログラムに対して緊急パイプライン実行モード機能が有効になっている場合、ダイアログボックスから通常モードまたは緊急モードで実行を開始できます。
緊急モードでの実行について、パイプライン実行の詳細ページを表示すると、画面の上部にあるパンくずリストに、パイプラインが緊急モードで実行中であることを示すインジケーターが表示されます。
パイプラインを緊急モードで実行する場合は、Cloud Manager API または CLI を使用して実行することもできます。 緊急モードで実行を開始するには、 PUT
リクエストを返します。 ?pipelineExecutionMode=EMERGENCY
または、CLI を使用する場合は次の手順に従います。
$ aio cloudmanager:pipeline:create-execution PIPELINE_ID --emergency
実稼動デプロイメント手順の再実行は、実稼動デプロイ手順が完了した場合に使用できます。 完了のタイプは重要ではありません。デプロイメントは、(AMS プログラムの場合のみ)成功、キャンセル、失敗のいずれかになる可能性があります。 主な使用例は、一時的な理由で実稼動のデプロイメント手順が失敗した場合です。 再実行の場合は、同じパイプラインを使用して新しい実行が作成されます。 この新しい実行は、次の 3 つのステップで構成されます。
ビルドステップには、再構築ではなくアーティファクトをコピーしていることを示すために、UI で異なるラベルが付けられる場合があります。
実行が再実行であるかどうかを識別するには、 trigger
フィールドを調べることができます。 値は次のようになります。 RE_EXECUTE
.
再トリガーを実行するには、 PUT
リクエストは、HAL リンクに対して行う必要があります http://ns.adobe.com/adobecloud/rel/pipeline/reExecute
実稼動デプロイステップの状態。 このリンクが存在する場合は、そのステップから実行を再開できます。 存在しない場合は、そのステップから実行を再開することはできません。 このリンクは、実稼動デプロイステップにのみ存在します
{
"_links": {
"http://ns.adobe.com/adobecloud/rel/pipeline/logs": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/logs",
"templated": false
},
"http://ns.adobe.com/adobecloud/rel/pipeline/reExecute": {
"href": "/api/program/4/pipeline/1/execution?stepId=2983530",
"templated": false
},
"http://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 を使用して通常の実行を開始する場合と似ています。