継続的インテグレーションと継続的デリバリーへの道筋 - AWS での継続的インテグレーションと継続的デリバリーの実践

継続的インテグレーションと継続的デリバリーへの道筋

CI/CD は、パイプラインとして描くことができます (下の図を参照)。ここでは、一方の端で新しいコードが引き渡され、一連のステージ (ソース、ビルド、ステージング、本稼働) でテストされた後、本稼働環境で使用できるコードとして公開されます。組織が初めて CI/CD を使用する場合、このパイプラインに反復的な方法でアプローチできます。つまり、小さく始めて各ステージで反復することです。これにより、組織の成長に役立つ方法でコードを理解し開発できるようになります。

CI/CD パイプライン

CI/CD パイプライン

CI/CD パイプラインの各ステージは、デリバリープロセスの論理ユニットとして構造化されています。さらに、各ステージは、コードの特定の側面を吟味するゲートとして機能します。コードがパイプラインを進むにつれて、より多くの側面が検証され続けるため、後のステージではコードの品質が高くなると想定されます。早いステージで問題が明らかになると、そのコードはパイプライン上の進行が停止します。テストの結果は即座にチームに送信され、ソフトウェアがステージをパスしなければ、それ以降のビルドやリリースはすべて停止されます。

これらのステージは提案です。ビジネスニーズに基づいてステージを適応させることができます。一部のステージは、複数のタイプのテスト、セキュリティ、およびパフォーマンスのために繰り返すことができます。プロジェクトの複雑さやチームの構造によって、一部のステージを異なるレベルで複数回繰り返すことができます。例えば、あるチームの最終成果物に、次のチームのプロジェクトが依存する場合があります。つまり、最初のチームの最終製品は、続いて次のチームのプロジェクトでアーティファクトとしてステージングされます。

CI/CD パイプラインの存在は、組織能力の成熟に大きな影響を与えます。組織は、開始時点から複数の環境、多くのテストフェーズ、およびすべてのステージでのオートメーションを備えた完全に成熟したパイプラインを構築しようとするのではなく、小さなステップから開始する必要があります。高度に成熟した CI/CD 環境を持つ組織であっても、パイプラインを継続的に改善する必要があることに留意してください。

CI/CD に対応した組織の構築は長い道のりであり、その道には多くの目的地があります。次のセクションでは、継続的インテグレーションから始まり継続的デリバリーのレベルに至るまで、組織が取り得る道筋について説明します。