CI/CD パイプライン ci-cd-pipeline

CI/CD パイプラインと、Cloud Manager でステージング環境および本番環境へのデプロイメントを処理する方法について説明します。

概要 overview

Cloud Manager には、継続的インテグレーション(CI)および継続的配信(CD)フレームワークが含まれており、実装チームは新しいコードや更新されたコードを迅速にテストして配信できます。 実装チームは、自動 CI/CD パイプラインをセットアップ、設定および開始できます。 このパイプラインでは、コーディングに関するアドビのベストプラクティスに従って、包括的なコードスキャンを実行し、最高のコード品質を確保します。

また、CI/CD パイプラインは、単体テストおよびパフォーマンステストプロセスを自動化して、デプロイメント効率を高め、デプロイメント後の修正にコストがかかる重大な問題を事前に特定することもできます。 実装チームは、包括的なコードパフォーマンスレポートにアクセスして、コードが実稼動環境にデプロイされた場合の KPI への潜在的な影響や重要なセキュリティ検証を見通すことができます。

パイプラインプロセスについて pipeline-process

次の図は、パイプラインを使用して Cloud Manager でリリースがトリガーされるとどうなるかを示しています。

パイプラインプロセス

パイプラインステップ
説明
​1. リリースを開始
デプロイメントマネージャーは、手動で、Git コミットを使用して、または定期的な実行スケジュールに基づいてリリースをトリガーします。
​2. リリースタグの作成
Cloud Manager では、自動生成したバージョン番号(2018.531.245527.0000001222 など)を使用してリリースをマークする Git タグを作成します。
​3. 自動生成されたバージョンをリリースとして構築
Cloud Manager が、新しく割り当てたバージョン番号を使用してアプリケーションをビルドします。
​4. コード品質の評価
Cloud Manager は、コードをステージング環境にデプロイする前にソースコードをスキャンし、概要の情報を提供します。
​5. バージョン管理されたアーティファクトの保存
リリースアーティファクトは、後でデプロイメントステップで使用できるように保存されます。
​6. AMS AEM ステージングへのアーティファクトの自動デプロイ
リリースアーティファクトはステージング環境にデプロイされます。
​7. トリガーの自動テスト
Cloud Manager は、アーティファクトに対してパフォーマンステストとセキュリティテストを実行します。
​8. 実稼動トリガーの展開
自動テストの完了後、Cloud Manager は実稼動環境へのデプロイメントを開始します。
​9. Cloud Managerが展開するアーティファクトを取得します
保存したリリースアーティファクトを Cloud Manager が取り込みます。
​10. アーティファクトを実稼動環境にデプロイする
リリースアーティファクトは本番環境にデプロイされます。

スマートビルドを使用したビルドの高速化 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

コード、品質およびパフォーマンスに関するゲートの設定について詳しくは、実稼動パイプラインの設定のドキュメントを参照してください。

recommendation-more-help
c6cdc82b-cee9-48e0-a6ee-48149d5e72c3