java de tfs
DESCRIPTION
2013/02/01 「Microsoft × TFSUG 共催イベントを開催 | アジャイル, ALM, TFS, DevOps 2013年の開発トレンドをいち早くキャッチアップ」でのセッション資料ですTRANSCRIPT
![Page 1: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/1.jpg)
TFSは.NET専用じゃないですよ~
![Page 2: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/2.jpg)
自己紹介
HN:ぶらっく(@__Black)ぶらっくの技術メモhttp://blackssi.cocolog-nifty.com/blog/
金融系業務パッケージ担当SE
パッケージ適用
業務アプリ作成/カスタマイズ
機器制御プログラム作成(RS-232C)
クラスタ環境構築
TFS使い始めてまだ2年ぐらい?
TFSUGスタッフです
※広島在住
![Page 3: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/3.jpg)
TFSは.NET専用?
いえいえ、そんなことはありません。○Microsoft Source Code Control Interface
(MSSCCI)
Visual SourceSafe(VSS)互換インターフェイスVSSが使用できる環境ならだいたい適用可能VB6(SP6)/VC++(SP6)/Access2007/PowerBuilder11.5/VS.NET 2003など
※VSS互換ですので、使用できる機能は限定的
![Page 4: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/4.jpg)
TFSは.NET専用?
○Team Explorer Everywhere(TEE)
Eclipse/コマンドからTFSにアクセス
Eclipseでは、VSのチームエクスプローラーと
ほぼ同機能を実現
○Team Foundation Server Build Extensions
ビルドエージェントでAnt/Marven/JUnitの
実行をサポート
![Page 5: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/5.jpg)
いきなりですが、完成形を
![Page 6: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/6.jpg)
JavaでTFSを使うための構成例
TFSサーバ/ビルドサーバWindows Server 2012
クライアントWindows 8+Eclipse
ビルドサーバ TFSサーバ クライアント
![Page 7: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/7.jpg)
構築概要
OSインストール
TFSインストール
Java関連インストール
チームプロジェクト作成
ビルド定義作成
![Page 8: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/8.jpg)
構築概要
OSインストール
TFSインストール
Java関連インストール
チームプロジェクト作成
ビルド定義作成
![Page 9: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/9.jpg)
インストールレシピ
○TFSサーバ
.NET Framework 3.5 SP1(役割と機能の追加)SQL Server 2012
TFS with Update1(アプリケーション層)※インストール時は「詳細」で
![Page 10: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/10.jpg)
インストールレシピ
○ビルドサーバTFS with Update1(ビルドサービス)
TFS Build Extensions
JDK 1.7
Ant 1.8.4
JUnit 4.1
FindBugs 2.0.1
CheckStyle 5.6
Cobertura(jcoverage)→Jacoco 0.6.1
![Page 11: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/11.jpg)
インストールレシピ
○クライアントEclipse(Juno)
TEE with Update1
JDK/JUnit/ EclEMMA/FindBugs/CheckStyle
→クライアントでも個別に確認できるように
Team Explorer(Visual Studio Shell)
1台だけでもかまいません
→ビルド定義を編集するときに使用します。
![Page 12: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/12.jpg)
インストールレシピ
○注意点
・ビルドサーバをTFSサーバと分けることができるのはAD環境だけ
![Page 13: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/13.jpg)
構築概要
OSインストール
TFSインストール
Java関連インストール
チームプロジェクト作成
ビルド定義作成
![Page 14: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/14.jpg)
プロジェクト作成
○TFSチームプロジェクトチームエクスプローラーで普通に作成してください(Scrum, Agile, CMMIどれでもOKです)
○Eclipse Javaプロジェクト
(たぶん)普通に作成してください
![Page 15: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/15.jpg)
とりあえず、チェックイン
○チームエクスプローラーからTFSチームプロジェクトに接続
○Eclipseプロジェクトで「チーム」-「プロジェクトの共用」リポジトリー・タイプとして「Team Foundation Server」を選択
![Page 16: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/16.jpg)
構築概要
OSインストール
TFSインストール
Java関連インストール
チームプロジェクト作成
ビルド定義作成
![Page 17: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/17.jpg)
作成するビルド定義
○Ant用ビルド定義ファイル(build.xml)
○TFS用ビルド定義
![Page 18: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/18.jpg)
TFSのビルドフロー(概略)
ビルドサーバ
TFSサーバ クライアント
ビルド要求ビルド実行
ビルド結果 終了通知
![Page 19: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/19.jpg)
Build.xmlの作成
ほぼ通常通り作成してください。
注意点は「フォルダ構成」
TFSのビルドで使用するフォルダを使用すること
→Ant実行時にTFSから環境変数が設定されるのでこれを使用します。
BinariesRoot:ビルド生成物格納フォルダ→このフォルダに格納されたファイルが共有フォルダに自動展開されます。
![Page 20: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/20.jpg)
フォルダ構成
・JavaProject1
TFSチームプロジェクト名・BuildJava1
TFSビルド定義名・bin
先ほどの「BinariesRoot」・src
Build.xml(Ant)上でのRootフォルダ
![Page 21: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/21.jpg)
Build.xmlの作成
○一口メモ
Ant「失敗」の定義を作成しておくTFSのビルドを「失敗」と認識させるには、Antを失敗させる必要があります。例:各ツールのいづれかがエラーを
検知したら、Antを失敗させる
![Page 22: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/22.jpg)
Build.xmlの作成
![Page 23: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/23.jpg)
Build.xmlの作成
![Page 24: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/24.jpg)
Build.xmlの作成
○Jacoco実行結果ファイル名の指定無指定だと、カバレッジ取得ファイルは「BuildType」(TFSBuild.projの保存場所)に出力されるが、レポート作成時は「src」を参照するので、エラーになる
→coverageタスクで「destfile=“jacoco.exec”」をあえて指定する
![Page 25: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/25.jpg)
TFS用ビルド定義の作成
Build.xmlをチェックイン後、「Eclipseの」
チームエクスプローラーからビルド定義を作成します。
○一口メモ
AntのTargetを指定したい時にはTFSBuild.projを変更し、TFSのビルド定義でTarget名を指定できるようにする方法があります。
![Page 26: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/26.jpg)
TFS用ビルド定義の作成
![Page 27: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/27.jpg)
TFS用ビルド定義の作成
※この編集はVisual Studio Shellのみ可能です
![Page 28: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/28.jpg)
これだけで・・・
○Eclipseのチームエクスプローラーからビルドが実行できます。(チェックイン時/定刻ビルドも可能)
○TFSのビルド定義を「ゲートチェックイン」にすれば、リポジトリ内のソースコードを綺麗に保てます。(テストが通らない/ソースが汚い状態であれば、チェックインされません!)
![Page 29: Java de TFS](https://reader034.vdocuments.pub/reader034/viewer/2022051015/55660dccd8b42a06318b49cd/html5/thumbnails/29.jpg)
その他
○JUnitのテスト結果(成否)はTFS(Build Extensions)が勝手に取り込みます。
○追加ファイルが必要な場合、TFSのソース管理に追加し、相対パスで参照します。
○新規クライアントで最初にTFSからソースを取得するときには、Eclipseの「インポート」で取得できます。
○ほぼ同じ内容で、Team Foundation Serviceでも使えるようになります。