Mavenの使い方と、スキルとしての発展

ビルドツールとしての『Maven』。
そしてMavenをスキルとして昇華していく私なりのルートを
紹介したいと思います。


まずは『インストール』。
私は以下サイトさんをよく拝見させてもらってます。
他の記事も基本的なところから深いところまで記述されていてすごいです。
[ひしだまさんの技術メモ]
http://www.ne.jp/asahi/hishidama/home/tech/apache/maven/install.html

使い方
以下サイトで勉強しました。
[TECHSCORE]
http://www.techscore.com/tech/Java/ApacheJakarta/Maven/index/
Mavenのバージョン2を扱っていますが、基本的には同じなのでかなり勉強になります。

ここでだいたい理解したら、本家Mavenの"Learning about Maven"を眺めたり、
http://maven.apache.org/

プラグインについて知りたければ、本家Mavenのpluginページを眺めて、
「こんなGoalあるのね」とか「こんな設定もできたのか」とか面白くなってきます。
http://maven.apache.org/plugins/index.html


そして『発展』。

Mavenの恩恵を理解してきたところでもっとMavenの力を感じられる概念を学ぶと良いです。
それは「継続的インテグレーション(Continuous Integration:CI)」です。
Mavenは基本概念としてプロジェクトの「ライフサイクル」を管理するものですが、
ライフサイクルを利用して様々な恩恵を受けることができます。
その一部が"継続的インテグレーション"です。

継続的インテグレーションについてはいろいろなサイトで読むことができたり、
[オブラブ]さん
http://objectclub.jp/community/XP-jp/xp_relate/cont-j

私も購入して読みました。
継続的インテグレーション入門」という本があります。良書です。
[プログラマの思索]さんで紹介されてます。
http://forza.cocolog-nifty.com/blog/2011/09/post-b1d4.html


CIをするならCIツールである、Jenkinsを推します。Jenkins推しです。
日本人の川口さんが作ったものです。
[Jenkinsの生みの親が語る、継続的インテグレーションの未来]
http://www.atmarkit.co.jp/news/201106/06/jenkins.html

最近オライリーからもJenkins本が出ました。通称カエル本。
http://www.oreilly.co.jp/books/9784873115344/


ここまで来るとmojoも使うようなります。
mojoとはApacheプロジェクト外のpluginを扱う場所です。
http://mojo.codehaus.org/plugins.html
まぁカエル本読む前に既に使ってるかもしれませんが、
よく使われるのは、
・cobertura(コード・カバレッジ測定)
findbugs(静的ソース解析)
とかですか。


ここまで来ると社内でも固有のスキルを持つ人物として扱われだすように思います。
あとはMaven含め、継続的インテグレーションの『伝道師』(エヴァンジェリスト)として
積極的に活動していってください。

まだまだ開発やテスト、品質を軽視する現場は多いです。
そんな現場を変える力をMaven、CI、Jenkinsは持っているはずです。
それには仲間を増やさねばいけません。

ここを読んであなたも仲間になり、モダンな現場が増えればいいなと思います。