Cloud Manager CI/CD パイプライン

Cloud Manager の CI/CD パイプラインと、CI/CD パイプラインを使用してコードを効率的にデプロイする方法について説明します。

はじめに

Cloud Manager の CI/CD パイプラインは、ソースリポジトリーからコードを作成して環境にデプロイするためのメカニズムです。パイプラインは、ソースコードリポジトリーからのプルリクエスト(つまりコード変更)などのイベントや、リリース頻度に合わせた定期的なスケジュールに基づいてトリガーされます。

パイプラインを設定するには、以下を行う必要があります。

  • パイプラインを開始するトリガーの定義
  • 実稼動デプロイメントを制御するパラメーターの定義
  • パフォーマンステストパラメーターの設定

Cloud Manager には、次の 2 種類のパイプラインが用意されています。

パイプラインのタイプ

ビデオの概要

パイプラインタイプの概要については、この短いビデオを視聴してください。

実稼動パイプライン

実稼動パイプラインは、ソースコードを実稼動用にデプロイするための調整された一連のステップで構成される専用のパイプラインです。これらのステップには、ビルド、パッケージ化、テスト、検証およびデプロイがあり、最初はすべてステージング環境で行われます。したがって、実稼働パイプラインは、実稼働環境とステージング環境のセットを作成した場合にのみ追加できます。

ヒント

詳しくは、実稼動パイプラインの設定のドキュメントを参照してください。

実稼動以外のパイプライン

実稼動以外のパイプラインは、主にコード品質スキャンの実行や開発環境へのソースコードのデプロイに役立ちます。

ヒント

詳しくは、実稼動以外のパイプラインの設定のドキュメントを参照してください。

コードのソース

実稼働パイプラインと実稼動以外のパイプラインに加えて、デプロイするコードのタイプによってパイプラインを区別することもできます。

これらについては、この後このドキュメントで詳しく説明します。

Cloud Manager の CI/CD パイプラインについて

Cloud Manager で使用できるすべてのパイプラインとその用途を次の表にまとめます。

パイプラインタイプ デプロイメントまたはコード品質 ソースコード 目的 備考
実稼動または非実稼動 デプロイメント フルスタック バックエンドおよびフロンエンドコードビルドと HTTPD/Dispatcher 設定を同時にデプロイ フロントエンドコードを AEM サーバーコードと同時にデプロイする必要がある場合。
フロントエンドパイプラインまたは web 階層設定パイプラインがまだ導入されていない場合。
実稼動または非実稼動 デプロイメント フロントエンド 1 つ以上のクライアントサイド UI アプリケーションを含んだフロントエンドコードビルドをデプロイ 複数の同時フロントエンドパイプラインをサポート
フルスタックデプロイメントよりはるかに高速
実稼動または非実稼動 デプロイメント Web 階層設定 HTTPD/Dispatcher 設定をデプロイ 数分でデプロイ
実稼動以外 コード品質 フルスタック デプロイメントなしでフルスタックコードに対してコード品質スキャンを実行 複数のパイプラインをサポート
実稼動以外 コード品質 フロントエンド デプロイメントなしでフロントエンドコードに対してコード品質スキャンを実行 複数のパイプラインをサポート
実稼動以外 コード品質 Web 階層設定 デプロイメントなしで Dispatcher 設定に対してコード品質スキャンを実行 複数のパイプラインをサポート

従来の単一のフロントエンドリポジトリーまたは独立したフロントエンドリポジトリーをセットアップした Cloud Manager パイプライン設定を次の図に示します。

Cloud Manager パイプライン設定

フルスタックパイプライン

フルスタックパイプラインでは、バックエンドコード、フロントエンドコードおよび web 階層設定を、すべて同時に AEM ランタイムにデプロイします。

  • バックエンドコード - Java コード、OSGi 設定、repoinitなどの不変コンテンツと可変コンテンツ
  • フロントエンドコード - JavaScript、CSS、フォントなどのアプリケーション UI リソース
  • Web 階層設定 - HTTPD/Dispatcher 設定

フルスタックパイプラインとは、すべてのことを一度に行う「スーパー」パイプラインのことですが、その一方で、フロントエンドパイプラインと web 階層設定パイプラインをそれぞれ使用して、フロントエンドコードまたは Dispatcher 設定に限定してデプロイすることもできます。

フルスタックパイプラインでは、フロントエンドコード(JavaScript/CSS)を AEM クライアントライブラリとしてパッケージ化します。

フルスタックパイプラインは、web 階層設定パイプラインが設定されていない場合、web 階層設定をデプロイする場合があります。

次の制限が適用されます。

  • パイプラインを設定または実行するには、ユーザーが​デプロイメントマネージャー​の役割でログインしている必要があります。
  • フルスタックパイプラインは、常に 1 つの環境に 1 つしか存在できません。

さらに、web 階層設定パイプラインの導入を選択した場合に、フルスタックパイプラインがどのように動作するかを認識しておいてください。

  • 環境のフルスタックパイプラインは、対応する web 階層設定パイプラインが存在する場合、Dispatcher 設定を無視します。
  • 環境に対応する web 階層設定パイプラインが存在しない場合、ユーザーは、Dispatcher 設定を含めるまたは無視するようにフルスタックパイプラインを設定できます。

フルスタックパイプラインは、コード品質パイプラインとすることも、デプロイメントパイプラインとすることもできます。

フロントエンドパイプライン

フロントエンドコードは、静的ファイルとして機能する任意のコードです。これは AEM から提供される UI コードとは別個のもので、サイトテーマ、顧客定義の SPA、Firefly SPA、他のソリューションなどが含まれる可能性があります。

フロントエンドパイプラインは、バックエンド開発と同期せずにフロントエンドコードのデプロイメントを速めることができるので、チームが設計および開発プロセスを効率化するのに役立ちます。この専用パイプラインは、JavaScript と CSS をテーマとして AEM 配布レイヤーにデプロイして、AEM により配信されるページから参照できる新しいテーマバージョンを作成します。

重要

フロントエンドパイプラインを利用するには、AEM Sites が有効になっている AEM バージョン 2021.10.5933.20211012T154732Z 以降を使用している必要があります。

メモ

デプロイメントマネージャー​の役割を持つユーザーは、複数のフロントエンドパイプラインを同時に作成および実行できます。

ただし、プログラムごとに(すべてのタイプを含めて)、最大 300 パイプラインの制限があります。これらのパイプラインは、フロントエンドコード品質パイプラインでもフロントエンドデプロイメントパイプラインでもかまいません。

フロントエンドパイプラインは、コード品質パイプラインとすることも、デプロイメントパイプラインとすることもできます。

フロントエンドパイプラインを設定する前に

フロントエンドパイプラインを設定する前に、AEM クイックサイト作成ジャーニーを参照して、使いやすい AEM クイックサイト作成ツールの包括的ガイドを確認してください。このジャーニーはフロントエンド開発の効率化に役立つほか、AEM のバックエンドに関する知識がなくても、このジャーニーを参考にサイトをすばやくカスタマイズできます。

フロントエンドパイプラインの設定

フロントエンドパイプラインの設定方法については、次のドキュメントを参照してください。

フロントエンドパイプラインを使用したサイトの開発

フロントエンドパイプラインを使用すると、フロントエンド開発者の作業の独立性が高まるほか、開発プロセスを速めることができます。

このプロセスの可能性を最大限に引き出すために知っておくべきいくつかの考慮事項と、このプロセスがどのように機能するかについては、フロントエンドパイプラインを使用したサイトの開発のドキュメントを参照してください。

フルスタックパイプラインの設定

フルスタックパイプラインの設定方法については、次のドキュメントを参照してください。

Web 階層設定パイプライン

Web 階層設定パイプラインを使用すると、HTTPD/Dispatcher 設定を他のコード変更から切り離して、この設定のみを AEM ランタイムにデプロイできます。これは効率化されたパイプラインで、Dispatcher 設定変更のみをデプロイしたい場合に、ほんの数分で行うことができます。

ヒント

Web 階層設定パイプラインでは、web 設定の保存先をフルスタックパイプラインの場合と同じ元の場所にするか別の場所にするかを、プロジェクトへの適合性に応じて選択することができます。

次の制限が適用されます。

  • Web 階層設定パイプラインを利用するには、AEM バージョン 2021.12.6151.20211217T120950Z 以降を使用している必要があります。
  • Web 階層設定パイプラインを利用するには、Dispatcher ツールのフレキシブルモードをオプトインする必要があります。
  • パイプラインを設定または実行するには、ユーザーが​デプロイメントマネージャー​の役割でログインしている必要があります。
  • Web 階層設定パイプラインは、常に 1 つの環境に 1 つしか存在できません。
  • 対応するフルスタックパイプラインの実行中は、web 階層設定パイプラインを設定できません。
  • Web 階層構造は、クラウド内の Dispatcher のドキュメントで定義されているフレキシブルモード構造に準拠している必要があります。

さらに、web 階層設定パイプラインを導入した場合にフルスタックパイプラインがどのように動作するかを認識しておいてください。

  • Web 階層設定パイプラインが環境に設定されていない場合、ユーザーは、対応するフルスタックパイプラインを設定する際に、実行時およびデプロイメント時に Dispatcher 設定を含めるか無視するかを選択することができます。
  • Web 階層設定パイプラインが環境に既に設定されている場合、それに対応するフルスタックパイプライン(存在する場合)では、実行時およびデプロイメント時に Dispatcher 設定が無視されます。
  • Web 階層設定パイプラインが削除されたら、それに対応するフルスタックパイプラインは、実行時に Dispatcher 設定をデプロイするようにリセットされます。

Web 階層設定パイプラインは、コード品質タイプでもデプロイメントタイプでもかまいません。

Web 階層設定パイプラインの設定

Web 階層設定パイプラインの設定方法については、次のドキュメントを参照してください。

このページ