PR
4/1朝まで
どなたでも有料記事が読み放題「無料開放デー」開催中!

 継続的インテグレーション(Continuous Integration、CI)は、ソフトウエア開発の手法の1つ。「コンパイル」「テスト」「パッケージング」といったソフトウエアの開発工程の様々な作業を、繰り返し何度も実行する手法を指す。消費者向けスマホアプリなど、頻繁に修正や改善を繰り返すシステムの開発では生産性や品質向上のために特に有効な手法である。

 CIは、開発者が変更したソースコードをバージョン管理システムなどのリポジトリーに登録すると、自動でコンパイルやビルド(結合)、テスト環境へのデプロイ(配置)、テストを実行するための仕組みだ。

継続的インテグレーションによる基本的な自動化の流れ
継続的インテグレーションによる基本的な自動化の流れ
[画像のクリックで拡大表示]

 一連の作業を繰り返し実行するために、それぞれの作業をツールによって自動化して、ツール間も連携するようにする。個々のツールは、コンパイル作業を実施するための統合開発環境(IDE)、テストを自動化するためのテストツールなどである。

 ツール同士を連携させて、一連のプロセスとして実行するためのツールが、「CIツール」と呼ばれるものだ。代表的な製品が「Jenkins」である。CIツールは、IDEやテストツール、バージョン管理ツールのほか、チケット管理ツールなどとも連携できる。

 CIツールを使った作業の自動化により、同じ開発工程を短期間で何度も実行することが可能になる。ビルドなどの作業が属人化するリスクも回避できる。また、ソースコードをコミットする都度、テストを自動実行することで、プログラムの不具合を早期に見つけられるのもCIの大きなメリットである。