1. CICDとJenkinsの概要
インターネット ソフトウェアの開発とリリースには一連の標準的な手順が形成されており、開発ワークフローは次の段階に分かれています。
コーディング → ビルド → 統合 → テスト → デリバリー → デプロイ
上の図からわかるように、継続的インテグレーション、継続的デリバリー、継続的デプロイメントには、ソフトウェア自動化のデリバリー サイクルが異なります。
1. 継続的インテグレーション (CI)
上記のプロセス全体の中で最も重要な部分は継続的インテグレーション (略して CI) です。
コーディング → ビルド → 統合 → テスト
継続的インテグレーションとは、コードをメインラインに頻繁に (1 日に複数回) 統合することを指します。ソフトウェアの個人が開発した部分をソフトウェア全体に引き渡し、頻繁に統合することで、より早くエラーを発見できるようになります。
これには 2 つの主な利点があります。
- エラーをすぐに発見します。小さな更新が完了するたびに、それがバックボーンに統合されるため、エラーをすばやく見つけて見つけやすくなります。
- 枝が幹から大きく逸れるのを防ぎます。頻繁に統合されず、バックボーンが常に更新されている場合、将来の統合がより困難になるか、さらには統合が困難になります。
継続的インテグレーションではバグが排除されるわけではありませんが、バグの発見と修正が非常に簡単になります。継続的インテグレーションの目的は、高品質を維持しながら製品を迅速に反復できるようにすることです。その中心的な対策は、コードがバックボーンに統合される前に自動テストに合格する必要があることです。1 つのテスト ケースが失敗する限り、それを統合することはできません。