Share via


Team Foundation Server にて Java アプリを管理、ビルド、JUnit も自動化で、継続的インテグレーションを実現できます(^^)

※長いタイトルご容赦くださいw

さて、タイトルの通りなのですが、Team Foundation Server(以下、TFS)では、Team Explorer Everywhere がでてきましたので、以前のようにサードパーティ製品(Teamprise: TEE の前身で、マイクロソフトが製品を購入(買収)しました)を絡めないでもすむようになります。

Team Explorer Everywhere を活用すると、Visual Studio だけでなく、Eclipse やコマンドラインインターフェイスから TFS にアクセスできるようになります。すなわち、TFS を Visual Studio だけでなく、Eclipse をベースとした IDE からも扱えるようになります。UNIX 屋(私もそうです)ならば、コマンドラインからアクセスしたいものですが、それも行えるわけです。UNIX と書きましたが、OS も Windows はもちろんのこと、Mac OS X、Linux、Solaris、AIX、HP-UX とあらゆるところから TFS にアクセスいただけます(だから Everywhere なわけですね)。

そもそも、TFS には、Web インターフェイスもあり、前々からマルチプラットフォーム、クロスプラットフォームでも活用いただけたのですが、どうしても、.NET, Visual Studio との相性がバッチリすぎて(当たり前ですけどね)、他の技術分野で活用できないと思われがちでした。

☆ ☆ ☆ ☆ ☆

前置きが長くなりましたが、さっそく TFS のソース管理と、ビルド管理で、Java プロジェクトを管理 しつつ、継続インテグレーションで、ビルド、JUnit テスト実行したスクリーンショットをとったので、共有します♪

無題 こちらは、Visual Studio 2010 で、TFS で管理されたビルド管理の様子です。 この管理対象は、Java アプリなわけです♪
無題2 続いて、同じく VS 2010 で、ビルドの詳細情報見ています。よく見ると、ビルド実行だけでなく、テストも行えているのがわかります(Ant を用い、JUnit 使ってです)。
無題3 JUnit のテスト結果も、Visual Studio の単体テストなどの自動実行と同様に記録、閲覧できているのがわかりますね。
無題4 左上のウィンドウ内に、JUnit って書いてあるのも確認できますね
無題5 TFS のビルド管理の結果を自動レポートしているものです。 ビルド単位で、JUnit のテストを何件実行し、成功が何件、失敗が何件(この例は、全部成功しちゃってます)、カバレッジが何%などが自動でレポートされます。
無題6 ここから Eclipse の画面になります。 Visual Studio 同様に、TFS にアクセスできているのが確認できます。これが、Team Exploere Everywhere です。
無題7 これは、該当 Java アプリの JUnit 実行画面です。Eclipse + Java で当たり前のものですが、当然普通に実行できます(当たり前ですが、Team Explorer Everywhere は Eclipse の他の機能に干渉しません)。 ここでは省略していますが、コードのチェックアウトやチェックイン(コミット)なども Eclipse の流儀、TFSの流儀で行えますので、開発者にとっては普段通りの作業ですみます。習得も容易!それでいて、レポート作成に必要な情報は自動収集され、レポート生成されます。
無題8 先ほどのビルド管理の画面を Eclipse で見たところです。内容は全く同じです。
無題9 ビルドの詳細情報です。これもいつでも見ることができます。
無題10 ビルドの情報です。VS2010 で見たものと同じものを表示しています(一つ上の情報も VS2010 からも当然見ることができます)
無題11 ビルドレポートも当然見ることができます。

 

 

 

 

 

 

 

 

 

 

 

さて、これを実現するためには、やらねばならないことがありますが、先日お伝えした、TFS 2010 Power Tools の Build Extensions で、Ant, Maven2 のタスク実行を TFS で行うことができるようになります。

今回は、それを用いて、Java アプリを TFS のビルド自動化機能で、自動ビルド、JUnit 実行、結果収集させました。

.NET だけでなく、Visual Studio だけでなく、多くの技術を扱う忙しい開発者のみなさんには、こういう開発インフラが必要なはずですね。

ながさわ