AWS CodePipeline を試用する

継続的インテグレーションは、開発者が自分のコード変更を定期的にセントラルリポジトリにマージし、その後に自動化されたビルドとテストを実行する DevOps ソフトウェア開発の手法です。継続的インテグレーションという用語が最もよく使われるのは、ソフトウェアのリリースプロセスのビルド段階または統合段階を指す場合で、自動化の要素 (たとえば、CI やビルドサービス) と啓発の要素 (たとえば、頻繁に統合することを学習する) の両方が含まれます。継続的インテグレーションの主な目的は、バグを早期に発見して対処すること、ソフトウェアの品質を高めること、そしてソフトウェアの更新を検証してリリースするためにかかる時間を短縮することです。

以前は、チームに所属する開発者は長期間にわたって独立して作業し、自分の作業が完了したあと初めて、変更点をマスターブランチにマージしていました。このようなバッチプロセスでは、累積したコード変更をマージする作業は困難で時間のかかるものでした。また、小さなバグが修正されないまま長期間にわたって累積すると、事態がいっそう悪化します。こうした要因が絡み合い、お客様に更新を迅速にお届けするのが困難になります。

継続的インテグレーションでは、開発者は、Git などのバージョン管理システムを使って共有リポジトリに頻繁にコミットします。コミットする前に、開発者は、統合前の追加の検証レイヤーとして自分のコードに単体テストをローカルで実施することを選択できます。継続的インテグレーションサービスは共有リポジトリへのコミットを検出し、自動的にビルドを行い、新しいコード変更に単体テストを実施するので、機能的なエラーや統合上のエラーがすぐに表面化します。

継続的インテグレーションと継続的デリバリー

継続的インテグレーションは、ソフトウェアのリリースプロセスにおけるビルド段階と単体テスト段階のことを指します。リビジョンがコミットされるたびに、自動化されたビルドとテストが開始されます。

継続的デリバリーでは、コード変更が自動的にビルドされ、テストされ、運用環境へのリリースに向けて準備されます。継続的デリバリーは、継続的インテグレーションを拡張したもので、すべてのコード変更が、ビルド段階の後にテスト環境または運用環境 (あるいはその両方) にデプロイされます。

 


開発者の生産性を向上

継続的インテグレーションは、開発者を手動作業から解放することによって開発チームの生産性を向上し、お客様にリリースする前にエラーやバグを減らす習慣を奨励するために役立ちます。

バグを早期に発見して対処できる

テストの頻度が上がるため、開発チームでは、バグが後になって大きな問題に発展する前に発見して対処できます。

更新を迅速に配信

継続的インテグレーションは、開発チームがお客様に迅速かつ頻繁に更新を配信するために役立ちます。

AWS では、継続的インテグレーションをいくつかの方法で実施できます。

CICD

AWS CodePipeline を使用した継続的インテグレーションをセットアップすれば、変更をコミットするごとに AWS CodeBuild にコードをビルドするワークフローを構築できます。