Cloud Manager CI/CD パイプライン intro-cicd
Cloud Manager の CI/CD パイプライン(継続的統合/継続的配信)と、CI/CD パイプラインを使用してコードを効率的にデプロイする方法について説明します。
CI/CD パイプラインの概要 introduction
Cloud Manager の CI/CD パイプラインは、ソースリポジトリーからコードを作成して環境にデプロイするためのメカニズムです。 パイプラインは、Git などのソースコードリポジトリからのプルリクエスト(つまり、コード変更)などのイベントでトリガーできます。 または、リリース頻度に合わせた定期的なスケジュールでトリガーすることもできます。
パイプラインを設定するには、次の操作を行う必要があります。
- パイプラインを開始するトリガーの定義。
- 実稼動デプロイメントを制御するパラメーターの定義。
- パフォーマンステストパラメーターの設定
Cloud Manager には、次の 2 種類のパイプラインが用意されています。
実稼動パイプライン prod-pipeline
実稼動パイプラインは、ソースコードを実稼動用にデプロイするための調整された一連のステップで構成される専用のパイプラインです。 これらのステップには、ビルド、パッケージ化、テスト、検証およびデプロイがあり、最初はすべてステージング環境で行われます。 したがって、実稼動パイプラインは、実稼動環境とステージング環境のセットを作成した場合にのみ追加できます。
実稼動以外のパイプライン non-prod-pipeline
実稼動以外のパイプラインは、コード品質スキャンを実行したり、ソースコードを開発環境にデプロイしたりするのに役立ちます。
コードのソース code-sources
パイプラインは、実稼動環境と非実稼動環境を超えて、デプロイするコードによっても異なります。
- フルスタックパイプライン - 1 つ以上の AEM サーバーアプリケーションを含んだバックエンドおよびフロンエンドコードビルドを HTTPD/Dispatcher 設定と共に同時にデプロイします。
- 設定パイプライン - ログ転送やパージ関連のメンテナンスタスクなどの機能の設定をすばやくデプロイできます。 また、Web アプリケーションファイアウォール(WAF)ルールを含むトラフィックフィルタールールなど、様々な CDN(コンテンツ配信ネットワーク)設定も含まれます。 さらに、リクエストと応答の変換、接触チャネルセレクター、クライアントサイドリダイレクト、エラーページ、CDN キー、パージ API キー、基本認証を管理できます。 詳しくは、設定パイプラインの使用を参照してください。
- フロントエンドパイプライン - 1 つ以上のクライアントサイドユーザーインターフェイスアプリケーションを含んだフロントエンドコードビルドをデプロイします。
- Web 階層設定パイプライン - HTTPD/Dispatcher 設定をデプロイします。
これらのパイプラインタイプについては、このドキュメントで後ほど説明します。
Cloud Manager の CI/CD パイプラインについて understand-pipelines
Cloud Manager で使用できるパイプラインとその用途を次の表にまとめます。
フルスタックデプロイメントよりはるかに高速。
従来の単一のフロントエンドリポジトリーまたは独立したフロントエンドリポジトリーをセットアップした Cloud Manager パイプライン設定を次の図に示します。
フルスタックパイプライン full-stack-pipeline
フルスタックパイプラインでは、バックエンドコード、フロントエンドコードおよび web 階層設定を、すべて同時に AEM ランタイムにデプロイします。
- バックエンドコード – 不変コンテンツ(Java コード、OSGi設定、repoinit)および可変コンテンツ
- フロントエンドコード - JavaScript、CSS、フォントなどのアプリケーション UI リソース
- Web 階層設定 - HTTPD/Dispatcher 設定
フルスタックパイプラインは、包括的なパイプラインです。 すべてを同時に処理できる一方、ユーザーがフロントエンドコードと Dispatcher の設定を個別にデプロイすることもできます。 このデプロイメントは、フロントエンドパイプラインと web 階層設定パイプラインをそれぞれ通じて行われます。
フルスタックパイプラインでは、フロントエンドコード(JavaScript/CSS)を AEM クライアントライブラリとしてパッケージ化します。
フルスタックパイプラインは、web階層設定パイプライン が設定されていない場合に、web階層設定をデプロイします。
次の制限が適用されます。
- パイプラインを設定または実行するには、ユーザーが デプロイメントマネージャー の役割でログインする必要があります。
- フルスタックパイプラインは、常に 1 つの環境に 1 つしか存在できません。
さらに、web 階層設定パイプラインの導入を選択した場合は、フルスタックパイプラインがどのように動作するかを認識しておいてください。
- 環境のフルスタックパイプラインは、対応する web 階層設定パイプラインが存在する場合、Dispatcher 設定を無視します。
- Dispatcher設定を含めるか無視するには、環境に対応するweb階層設定パイプラインが存在しない場合は、フルスタックパイプラインを設定できます。
フルスタックパイプラインは、コード品質パイプラインとすることも、デプロイメントパイプラインとすることもできます。
実稼動以外のパイプラインの設定 configure-full-stack
実稼動パイプラインの追加を参照してください。
実稼動以外のパイプラインの追加を参照してください。
パイプラインの設定 config-deployment-pipeline
設定パイプラインを使用すると、ログ転送、パージ関連のメンテナンスタスク、トラフィックフィルタールール(WAF(Web アプリケーションファイアウォール)ルールなど)を含む様々な CDN 設定の設定をすばやくデプロイできます。 さらに、リクエストと応答の変換、オリジンセレクター、クライアントサイドリダイレクト、エラーページ、顧客管理 CDN キー、パージ API キー、基本認証を管理できます。
サポートされている機能の包括的なリストと、リポジトリ内の設定を適切にデプロイするために設定を管理する方法については、設定パイプラインの使用を参照してください。
設定パイプラインの設定 configure-config-deployment
実稼動パイプラインの追加を参照してください。
実稼動以外のパイプラインの追加を参照してください。
フロントエンドパイプライン front-end
フロントエンドコードとは、静的ファイルとして提供されるあらゆるコードです。 AEMが提供するUI コードとは異なり、サイトテーマ、顧客が定義したSPA、SPA、その他のソリューションが含まれています。
フロントエンドパイプラインは、フロントエンドコードをバックエンド開発と非同期で迅速にデプロイできるようにすることで、設計および開発プロセスを合理化するのに役立ちます。 この専用パイプラインは、JavaScriptとCSSをテーマとしてAEM配布レイヤーにデプロイし、AEMが配信するページから参照される新しいテーマバージョンを作成します。
フロントエンドパイプラインは、コード品質パイプラインとすることも、デプロイメントパイプラインとすることもできます。
フロントエンドパイプラインを設定する前に before-start
フロントエンドパイプラインを設定する前に、AEM クイックサイト作成ジャーニーを参照して、使いやすい AEM クイックサイト作成ツールの包括的ガイドを確認してください。 このジャーニーはフロントエンド開発の効率化に役立つほか、AEM のバックエンドに関する知識がなくても、このジャーニーを参考にサイトをすばやくカスタマイズできます。
フロントエンドパイプラインの設定 configure-front-end
実稼動パイプラインの追加を参照してください。
実稼動以外のパイプラインの追加を参照してください。
フロントエンドパイプラインを使用したサイトの開発 developing-with-front-end-pipeline
フロントエンドパイプラインを使用すると、フロントエンド開発者の作業の独立性が高まるほか、開発プロセスを速めることができます。
このプロセスの可能性を最大限に引き出すために、このプロセスがどのように機能するのか、いくつかの考慮事項と共に フロントエンドパイプラインを使用したサイトの開発を参照してください。
Web 階層設定パイプライン web-tier-config-pipelines
Web 階層設定パイプラインを使用すると、HTTPD/Dispatcher 設定を他のコード変更から切り離して、この設定のみを AEM ランタイムにデプロイできます。 これは、Dispatcherの設定の変更のみをデプロイするユーザーと、その方法を高速化するユーザーを提供する合理化されたパイプラインです。
次の制限が適用されます。
- Web 階層設定パイプラインを使用するには、AEM バージョン
2021.12.6151.20211217T120950Z以降を使用する必要があります。 - Web 階層設定パイプラインを使用するには、Dispatcher ツールのフレキシブルモードをオプトインする必要があります。
- パイプラインを設定または実行するには、ユーザーが デプロイメントマネージャー の役割でログインする必要があります。
- Web 階層設定パイプラインは、常に 1 つの環境に 1 つしか存在できません。
- 対応するフルスタックパイプラインの実行中は、web 階層設定パイプラインを設定できません。
- Web階層構造は、Cloud🔗のDispatcherで定義されているフレキシブルモード構造に準拠している必要があります。
さらに、web 階層設定パイプラインを導入した場合にフルスタックパイプラインがどのように動作するかを認識しておいてください。
- Web 階層設定パイプラインが環境に設定されていない場合、ユーザーは、フルスタックパイプラインの設定時に、Dispatcher 設定を含めるか無視するかを選択できます。 この選択は、実行時およびデプロイメント時に行われます。
- Web 階層設定パイプラインが環境に設定されると、対応するフルスタックパイプライン(存在する場合)では実行時およびデプロイメント時に Dispatcher 設定が無視されます。
- Web 階層設定パイプラインが削除されたら、それに対応するフルスタックパイプラインは、実行時に Dispatcher 設定をデプロイするようにリセットされます。
Web 階層設定パイプラインのタイプは、Code quality または Deployment のいずれかになります。
Web階層パイプラインの設定 configure-web-tier
実稼動パイプラインの追加を参照してください。
実稼動以外のパイプラインの追加を参照してください。
パイプラインタイプの概要ビデオ video
パイプラインタイプの概要については、次のビデオ(2 分 26 秒)を参照してください。