CI(継続的インテグレーション)


CIとは?

CIとは、Continuous Integrationの略で、継続的インテグレーションと呼ばれています。
CI(継続的インテグレーション)では、開発者が自分のコード変更を頻繁にセントラルリポジトリにマージし、その度に自動化されたビルドとテストを実行します。
小さなサイクルでインテグレーションを繰り返し行い、インテグレーションのエラーを素早く修正することによりチームは統合されたソフトウェアをより迅速に開発できるようになります。

CI(継続的インテグレーション)

CIツールを使うと?

CIツール導入以前は、開発者は長期間にわたって独立して作業し、自分の作業が完了したあと初めて、変更点をマスターブランチにマージしていました。このような開発プロセスでは、累積したコード変更をマージする作業は困難で時間のかかるものでした。また、バグが発生した場合も複数の変更が混在するため、影響範囲も広く特定と修正にかかるコストが大きくなってしまいます。

リードタイムを短縮するために、CIツールがあります。CIツールを導入し、ビルドパイプラインは最初は小さな単位でビルドと検証を行いながら、フェーズが進みにつれて大きな単位での検証が行われるように設計します。

そうすることで、エラーフィードバックが早くなり、影響範囲の小さなうちに修正されるようなプロセスとなります。
CI(継続的インテグレーション)

CIツールの1つが「Jenkins」

Jenkinsは、元々CI(継続的インテグレーション)のためのツールとして広く普及しました。テストやビルドを最後にまとめて行うのではなく、コミットされたらその度ビルドとテストを行うようにJenkinsでジョブを作成し、即座にビルドが成功した最新バージョンの特定や、影響範囲の小さいうちにエラーの修正をすることを容易にしました。


CI(継続的インテグレーション)のメリット

開発者の生産性を向上

CI(継続的インテグレーション)は、エラーを小さな単位で影響範囲を小さく修正するようになるため、修正コストを削減します。これまでプロジェクトの最終段階で見つかっていたエラーが早く小さなコストで修正されるようになるため、開発チームの生産性が向上し、品質の良いソフトウェアの開発に繋がります。

バグを短時間で発見して対処

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

更新を迅速に配信

CI(継続的インテグレーション)は、常にビルドが通るリポジトリを維持し、リリースできる最新バージョンの特定を常に行うことができます。そのため、お客様に迅速かつ頻繁に更新を配信することが可能となります。


今年の秋も!「Jenkins Day Japan 2019」

今年も国内最大級のJenkinsイベント「Jenkins Day Japan 2019」を2019年10月11日12:40-18:00(金)ベルサール御成門タワーで開催いたします!

今年で3回目となるJeknins Day japan。Jenkinsを盛り上げるため、Jenkinsの開発者である川口耕介氏に登壇をしていただきます。
また、JenkinsとCI/CDをリードするエンジニアから、最先端の取り組みや成功事例について講演していただきます。
貴重な講演が聞ける機会となっておりますので、ぜひ、ご参加ください。

Jenkins Day Japan 2019|テクマトリックス