Jenkinsを実際にどのように運用するのか?
Jenkinsを実際にどのように運用するのか?という話。
構成としては大体以下のようになる。
■ジェンキンスサーバ(執事)
※リポジトリに叩かれたらすぐに最新版ソースを取りに行って、それを元に自動的に単体テストやなんやかんや実行してレポートを作成する。
※開発者は、作成されたレポートをブラウザから確認できる。
↓ ↑
■リポジトリサーバ(屋敷の倉庫か?)
※コミットをトリガーに、ジェンキンスに最新版取りに来いと依頼する。
※↑みたいなスクリプトをリポジトリに仕込む必要がある。
↑ ↓
■開発者(あるじ)
1.単体テストコードとアプリケーションコードを造る・修正する。
2.リポジトリにあげる。
3.ジェンキンスでレポート見る。
4.変なとこあれば修正・・・
基本的にこのループになる。
こうすると、開発者は造ったもののレポートをすぐ見れる。
造る、リポジトリにアップする、という作業に専念できる。
実際に回してみるとわかるけど、とても作業が軽快になる。
※残業はなくならない。
また、これをプロジェクト開始時からちゃんと行っていると、レポートグラフなどから状況が把握しやすい。
進行具合、機能追加などによるコード量の推移とか、カバレッジの推移とかいろんな情報がわかるようになる。
開発者がコミットしてゆくだけで、ドキュメントも自動生成してくれるし、単体テストも行ってくれるし、よろしくなさそうな実装箇所も指摘してくれる。
ただ黙々と報告をしてくれる。
しかし、「あくまで執事ですから」(黒執事より)、導入だけすればオールオッケーなわけではない。
やはり主が必要なのである。