CI/CD パイプライン ci-cd-pipeline
CI/CD パイプラインと、Cloud Manager でステージング環境および本番環境へのデプロイメントを処理する方法について説明します。
概要 overview
Cloud Manager には、継続的インテグレーション(CI)および継続的配信(CD)フレームワークが含まれており、実装チームは新しいコードや更新されたコードを迅速にテストして配信できます。 実装チームは、自動 CI/CD パイプラインをセットアップ、設定および開始できます。 このパイプラインでは、コーディングに関するアドビのベストプラクティスに従って、包括的なコードスキャンを実行し、最高のコード品質を確保します。
また、CI/CD パイプラインは、単体テストおよびパフォーマンステストプロセスを自動化して、デプロイメント効率を高め、デプロイメント後の修正にコストがかかる重大な問題を事前に特定することもできます。 実装チームは、包括的なコードパフォーマンスレポートにアクセスして、コードが実稼動環境にデプロイされた場合の KPI への潜在的な影響や重要なセキュリティ検証を見通すことができます。
パイプラインプロセスについて pipeline-process
次の図は、パイプラインを使用して Cloud Manager でリリースがトリガーされるとどうなるかを示しています。
2018.531.245527.0000001222 など)を使用してリリースをマークする Git タグを作成します。コードのソース code-sources
パイプラインは、実稼動用と非実稼動用に加えて、デプロイするコードのタイプによっても異なる場合があります。
- フルスタックパイプライン - HTTPD/Dispatcher設定と共に、AEM アプリケーションコード全体をデプロイします。
- Web階層設定パイプライン - HTTPD/Dispatcher設定のみをデプロイします。
フルスタックパイプライン full-stack-pipeline
フルスタックパイプラインは、AEMのアプリケーションコード全体をAEM ランタイムにデプロイし、デフォルトではweb層設定もデプロイします。
次の制限が適用されます。
- パイプラインを設定または実行するには、ユーザーが デプロイメントマネージャー の役割でログインする必要があります。
- フルスタックパイプラインは、常に 1 つの環境に 1 つしか存在できません。
次に、フルスタックパイプラインがweb階層設定パイプライン とどのように相互作用するかを説明します。
- 環境のフルスタックパイプラインは、対応する web 階層設定パイプラインが存在する場合、Dispatcher 設定を無視します。
- 環境に対応する web 階層設定パイプラインが存在しない場合、ユーザーは、Dispatcher 設定を含めるまたは無視するようにフルスタックパイプラインを設定できます。
フルスタックパイプラインは、コード品質パイプラインとすることも、デプロイメントパイプラインとすることもできます。
実稼動以外のパイプラインの設定 configure-full-stack
実稼動パイプラインの追加を参照してください。
実稼動以外のパイプラインの追加を参照してください。
Web 階層設定パイプライン web-tier-config-pipelines
Web 階層設定パイプラインを使用すると、HTTPD/Dispatcher 設定を他のコード変更から切り離して、この設定のみを AEM ランタイムにデプロイできます。 これは効率化されたパイプラインで、Dispatcher 設定変更のみをデプロイしたい場合に、ほんの数分で行うことができます。
次の制限が適用されます。
- パイプラインを設定または実行するには、ユーザーが デプロイメントマネージャー の役割でログインする必要があります。
- Web 階層設定パイプラインは、常に 1 つの環境に 1 つしか存在できません。
- 対応するフルスタックパイプラインの実行中は、web 階層設定パイプラインを設定できません。
次に、Web階層設定パイプラインが フルスタックパイプライン とどのように相互作用するかを説明します。
- Web 階層設定パイプラインが環境に設定されていない場合、ユーザーは、フルスタックパイプラインの設定時に、Dispatcher 設定を含めるか無視するかを選択できます。
- Web 階層設定パイプラインが環境に設定されると、対応するフルスタックパイプライン(存在する場合)では実行時およびデプロイメント時に Dispatcher 設定が無視されます。
- Web階層設定パイプラインを削除すると、対応するフルスタックパイプライン(存在する場合)がリセットされ、実行中にDispatcher設定がデプロイされます。
Web階層パイプラインの設定 configure-web-tier
実稼動パイプラインの追加を参照してください。
実稼動以外のパイプラインの追加を参照してください。
スマートビルドを使用したビルドの高速化 use=smart-build
Cloud Managerでは、モジュールレベルのキャッシュを使用してビルドプロセスを高速化する、スマートビルドと呼ばれる最適化されたビルド戦略を使用するようになりました。 各ビルドの間、変更されたモジュールのみが再ビルドされ、変更されていないモジュールはキャッシュから再利用されます。
Smart Buildは、コード品質および開発フルスタックのデプロイメントパイプラインでのみ使用できます。
実稼動以外のパイプラインの追加および実稼動以外のパイプラインでのスマートビルドの使用についてを参照してください。
CI/CD パイプラインの設定方法 how-to-setup-a-ci-cd-pipeline
パイプラインの設定について詳しくは、実稼動パイプラインの設定および実稼動以外のパイプラインの設定のドキュメントを参照してください。
品質ゲート quality-gates
CI/CD パイプラインは、品質ゲートつまり受け入れ条件を提供します。コードをステージング環境からデプロイメント環境に移動するには、この条件を満たす必要があります。 パイプラインには次の 3 つのゲートがあります。
- コード品質
- パフォーマンステスト
- セキュリティテスト
これらのゲートごとに、次の 3 つのレベルの問題が特定されます。
- 重大 - ゲートで特定される問題のうち、パイプラインの即時失敗につながるものです。
- 重要 - ゲートで特定される問題のうち、パイプラインの一時停止につながるものです。 デプロイメントマネージャー、プロジェクトマネージャーまたはビジネスオーナーは、問題を無視して、パイプラインを続行することができます。 または、問題を受け入れることもできますが、それによってエラーが発生した際にパイプラインが停止する可能性があります。
- 情報 - ゲートで特定される問題のうち、情報提供だけを目的とするもので、パイプライン実行には影響しません。
以下は、問題が特定されたコードスキャンの例です。
ゲートの設定方法 how-to-setup-gates
コード、品質およびパフォーマンスに関するゲートの設定について詳しくは、実稼動パイプラインの設定のドキュメントを参照してください。