7 プラクティス3 継続的に統合する
7.1 プロジェクトの鼓動を確立する
7.2 完了と、完了の完了と、完了の完了の完了の違いを知る
7.3 継続的にデプロイする
7.4 ビルドを自動化する
7.5 ビルドは頻繁にする
7.6 最初の一歩を踏み出す
内容
問題を後回しにすることは、リスクと努力が必要な状況を作り出している。
継続的インテグレーション(CI)とは、統合&ビルドをリリース直前にするのではなく、こまめに行っていくこと。
開発で最も重要な環境で、作るのも簡単。
CIはビルドサーバーを作って(クラウドサービスでも可)、そこにバージョン管理システムで随時統合し、統合したらビルドと自動テストを実行するようにする。
「完了」と「完了の完了」と「完了の完了の完了」の3つの状態を知り「完了の完了の完了」を目指そう。
- 完了・・・ローカルでビルド、テストが通る
- 完了の完了・・・ローカルで通ったものが統合される
- 完了の完了の完了・・・さらに、保守可能な状態にリファクタリングされている
3つ目を目指すことで、保守可能なコードになり、テストも高速に実行できるコードになっていることが多い。
ビルドサーバーにはコードの他にも、ビルドスクリプトやDBレイアウト、必要なドキュメントなど、リリースに関連するものはすべて一元管理をし、ビルドの整合性を保つようにしよう。
頻度は最低1日1回、一日の最後ではなく最後にビルド失敗しても修正可能なタイミングで行おう。多ければ多いほど良い。
この癖をつけるのは最初は大変かもしれないが、この価値を知り、軌道に乗れば、今までの方法には戻れなくなる。
学び
- CI環境は高速フィードバックのために超重要
学びを活かすアイディア・行動
- 現場で作る