2015年11月25日 17:06
ツールを活用した“イマドキ”チーム開発の極意 (5) チーム開発におけるビルド管理のポイントとは
およびContinuous Delivery (CD)について説明します。
CIは、実行ファイルの作成とテストの実施を自動化し、常に実行可能な状態でソースコードを管理するプラクティスです。その目的は、プログラムの結合時に起こる問題の早期発見やリファクタリングの実施によって、ソースコードの品質を向上させることです。
CDは、実行ファイル作成やデプロイ、データ投入等の手順を自動化し、常に実行可能なシステムを提供するプラクティスです。その目的は、システム全体が完成する前からUIテストをおこない、ユニットテストでは検知しにくい問題を発見することです。さらに、近年ではUIテストに関しても自動化をおこなうケースが増えてきています。
これらのプラクティスを組み合わせることにより、「常に実行可能なシステムを安定した状態で提供する」ことができるようになります。これも前述した広義のビルドと考えることができます。
いずれのプラクティスもビルドの自動化が必須となります。しかし、単に自動化しただけでは、ある人の環境ではビルドが成功するのに、別の人の環境ではビルドが失敗する、といった問題が起こりがちです。それを防ぐにはビルド専用の環境が必要になりますが、環境をただ用意するだけではなく、ソースコードのリビジョンやビルド結果、テスト結果などがひもづいている必要があります。