by shigemk2

当面は技術的なことしか書かない

Jenkinsについて


Jenkinsとは、旧名Hadsonで、
全世界で80%以上のシェアを占めるCI(継続的インテグレーション)ツールの代表格である。
Jenkinsで出来ることとして、

1. ソースコードの統合・テストの自動化

Jenkinsを利用すると、ソースコードを統合してビルドを自動化できる。
人力でコンパイルやデプロイ、テストを行うと、手順漏れや、
統合/テストできる人が特定の人に限定されることがあるが、
ビルドを自動化しておけば誰でも簡単にビルドできるなる。

ビルドには、Java開発では、AntやMavenの他、
独自のビルドスクリプトやツールも使える。

最近では仮想マシン上でテスト環境を構築してテストする
ケースも増えているが、仮想マシン用のプラグインを導入すれば、
仮想マシンを起動し、その上にテスト環境の構築&テストと
いったことさえできるようになる。

2. 定期的なビルドによるコンパイルエラー、バグの早期発見

複数の開発者でソフトウェアの開発を進めていると、
開発者間でインターフェイスの意識違いが発生し、
互いの実装するインターフェイスが不整合なまま開発が進んだり、
重大なバグを埋め込んだまま開発が進み、後で手戻りが発生することがある。

定期的にソースコードを統合、ビルドしコンパイルエラーを発見することにより、
ソースコードをきれいな状態に保てる。

3. メトリクスの自動取得

コードチェックやカバレッジを取得するプラグインを導入すれば、
ビルドごとのコードの統計を見ることができる。

静的チェックの警告が増えてきたので、
静的コード解析ツールの利用を徹底したり、
カバレッジが下がってきたのでテストコードを強化したり、
コードの複雑度が上がってきたのでリファクタリングして保守性を高めたりと、
ソースコードの品質管理に役立つ。

4. 開発を楽しく、ユカイツーカイに

Jenkinsで使えるのは、業務に役立つ有用なプラグインだけではない。
導入して何かが楽になるわけではなくても、
開発を楽しくするようなプラグインが提供されている。