TFSは.NET専用じゃないですよ~
自己紹介 HN:ぶらっく(@__Black) ※広島在住 ぶらっくの技術メモ http://blackssi.cocolog-nifty.com/blog/ 金融系業務パッケージ担当SE パッケージ適用 業務アプリ作成/カスタマイズ 機器制御プログラム作成(RS-232C) クラスタ環境構築 TFS使い始めてまだ2年ぐらい? TFSUGスタッフです
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の 実行をサポート
いきなりですが、完成形を
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 Cobertura(jcoverage)→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用ビルド定義
TFSのビルドフロー(概略) ビルドサーバ ビルド実行 ビルド要求 ビルド結果 終了通知 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用ビルド定義の作成
TFS用ビルド定義の作成 ※この編集はVisual Studio Shellのみ可能です
これだけで・・・ ○Eclipseのチームエクスプローラーから ビルドが実行できます。 (チェックイン時/定刻ビルドも可能) ○TFSのビルド定義を「ゲートチェックイン」に すれば、リポジトリ内のソースコードを綺麗に 保てます。 (テストが通らない/ソースが汚い状態で あれば、チェックインされません!)
その他 ○JUnitのテスト結果(成否)は TFS(Build Extensions)が勝手に取り込みます。 ○追加ファイルが必要な場合、TFSのソース管理 に追加し、相対パスで参照します。 ○新規クライアントで最初にTFSからソースを 取得するときには、Eclipseの「インポート」で 取得できます。 ○ほぼ同じ内容で、Team Foundation Serviceでも 使えるようになります。