251 Views
March 02, 13
スライド概要
つながるJavaとTFS ~ いつ使うの? 今でしょう!! ~
自己紹介 • HN:ぶらっく(@__Black)※広島在住 ぶらっくの技術メモ http://blackssi.cocolog-nifty.com/blog/ • 金融系業務パッケージ担当SE • TFS使い始めてまだ2年ぐらい?
TFSは.NET専用? いえいえ、そんなことはありません。 ○Microsoft Source Code Control Interface (MSSCCI) Visual SourceSafe(VSS)互換インターフェイス VSSが使用できる環境ならだいたい適用可能 VB6(SP6)/VC++(SP6)/Access2007/ PowerBuilder11.5/VS.NET 2003など ※VSS互換ですので、使用できる機能は限定的
TFSは.NET専用? ○Team Explorer Everywhere(TEE) Eclipse/コマンドからTFSにアクセス Eclipseでは、VSのチームエクスプローラーと ほぼ同機能を実現 ○Team Foundation Server Build Extensions ビルドエージェントでAnt/Marven/JUnitの 実行をサポート
本日のレシピ Team Foundation Server 2012 Java Eclipse Ant JUnit Jacoco FindBugs CheckStyle ほとんどOSS!!
本日のお題目 Visual StudioとTFSを使っていれば 普通にできることをやってみます。 バージョン管理 自動テストとカバレッジ 静的解析 継続的インテグレーション (ゲートチェックイン)
JavaでTFSを使うための構成例 • TFSサーバ/ビルドサーバ Windows Server 2012 • クライアント Windows 8+Eclipse ビルドサーバ TFSサーバ クライアント
構築概要 OSインストール TFSインストール Java関連インストール チームプロジェクト作成 ビルド定義作成
構築概要 OSインストール TFSインストール Java関連インストール チームプロジェクト作成 ビルド定義作成
インストールレシピ ○TFSサーバ .NET Framework 3.5 SP1 (役割と機能の追加) SQL Server 2012 TFS with Update1(アプリケーション層) ※インストール時は「詳細」で
インストールレシピ ○ビルドサーバ TFS with Update1(ビルドサービス) TFS Build Extensions JDK 1.7 Ant 1.8.4 JUnit 4.1 FindBugs 2.0.1 CheckStyle 5.6 Jacoco 0.6.1
インストールレシピ ○クライアント Eclipse(Juno) TEE with Update1 JDK/JUnit/ EclEMMA/FindBugs/ CheckStyle →クライアントでも個別に確認できるように Team Explorer(Visual Studio Shell) 1台だけでもかまいません →ビルド定義を編集するときに使用します。
インストールレシピ ○注意点 ・ビルドサーバをTFSサーバと分けることが できるのはAD環境だけ
構築概要 OSインストール TFSインストール Java関連インストール チームプロジェクト作成 ビルド定義作成
プロジェクト作成 ○TFSチームプロジェクト チームエクスプローラーで 普通に作成してください (選択するプロセステンプレートは Scrum, Agile, CMMIどれでもOKです) ○Eclipse Javaプロジェクト (たぶん)普通に作成してください
とりあえず、チェックイン ○チームエクスプローラーから TFSチームプロジェクトに接続 ○Eclipseプロジェクトで 「チーム」-「プロジェクトの共用」 リポジトリー・タイプとして 「Team Foundation Server」を選択
構築概要 OSインストール TFSインストール Java関連インストール チームプロジェクト作成 ビルド定義作成
作成するビルド定義 ○Ant用ビルド定義ファイル(build.xml) ○TFS用ビルド定義
Build.xmlの作成 ほぼ通常通り作成してください。 注意点は「フォルダ構成」 TFSのビルドで使用するフォルダを使用すること →Ant実行時にTFSから環境変数が設定されるので これを使用します。 BinariesRoot:ビルド生成物格納フォルダ →このフォルダに格納されたファイルが 共有フォルダに自動展開されます。
フォルダ構成 ・JavaProject1 TFSチームプロジェクト名 ・BuildJava1 TFSビルド定義名 ・bin 先ほどの「BinariesRoot」 ・src Build.xml(Ant)上での Rootフォルダ
Build.xmlの作成 ○一口メモ Ant「失敗」の定義を作成しておく TFSのビルドを「失敗」と認識させるには、 Antを失敗させる必要があります。 例:各ツールのいづれかがエラーを 検知したら、Antを失敗させる
Build.xmlの作成
Build.xmlの作成
Build.xmlの作成 ○Jacoco実行結果ファイル名の指定 無指定だと、カバレッジ取得ファイルは 「BuildType」(TFSBuild.projの保存場所)に 出力されるが、レポート作成時は「src」を 参照するのでエラーになる →coverageタスクで「destfile=“jacoco.exec”」 を指定する
TFS用ビルド定義の作成 Build.xmlをチェックイン後、「Eclipseの」 チームエクスプローラーからビルド定義を 作成します。 ○一口メモ AntのTargetを指定したい時には TFSBuild.projを変更し、 TFSのビルド定義でTarget名を 指定できるようにする方法があります。
TFS用ビルド定義の作成 ※この編集はVisual Studio Shellのみ可能です
TFS用ビルド定義の作成
これだけで・・・ ○Eclipseのチームエクスプローラーから ビルドが実行できます。 (チェックイン時/定刻ビルドも可能) ○「ゲートチェックイン」を使えば、 リポジトリ内のソースコードを綺麗に 保てます。 (テストが通らない/ソースが汚い状態で あれば、チェックインされません!)
その他 ○VSのチームエクスプローラーとほぼ同じ操作で EclipseからTFSが使えます。 ○Antのビルド定義にTFS用の特殊な設定は不要 ○.NETとかNative C++との混在であれば なお素敵 →言語ごとにリポジトリを分ける必要がない