Jenkinsを実際にどのように運用するのか?

Jenkinsを実際にどのように運用するのか?という話。

構成としては大体以下のようになる。

ジェンキンスサーバ(執事)
リポジトリに叩かれたらすぐに最新版ソースを取りに行って、それを元に自動的に単体テストやなんやかんや実行してレポートを作成する。
※開発者は、作成されたレポートをブラウザから確認できる。

↓ ↑

リポジトリサーバ(屋敷の倉庫か?)
※コミットをトリガーに、ジェンキンスに最新版取りに来いと依頼する。
※↑みたいなスクリプトをリポジトリに仕込む必要がある。

↑ ↓

■開発者(あるじ)
1.単体テストコードとアプリケーションコードを造る・修正する。
2.リポジトリにあげる。
3.ジェンキンスでレポート見る。
4.変なとこあれば修正・・・
基本的にこのループになる。

こうすると、開発者は造ったもののレポートをすぐ見れる。
造る、リポジトリにアップする、という作業に専念できる。
実際に回してみるとわかるけど、とても作業が軽快になる。
※残業はなくならない。

また、これをプロジェクト開始時からちゃんと行っていると、レポートグラフなどから状況が把握しやすい。
進行具合、機能追加などによるコード量の推移とか、カバレッジの推移とかいろんな情報がわかるようになる。

開発者がコミットしてゆくだけで、ドキュメントも自動生成してくれるし、単体テストも行ってくれるし、よろしくなさそうな実装箇所も指摘してくれる。
ただ黙々と報告をしてくれる。

しかし、「あくまで執事ですから」(黒執事より)、導入だけすればオールオッケーなわけではない。
やはり主が必要なのである。