java de tfs

29
TFS.NET専用じゃないですよ~

Upload: black

Post on 28-May-2015

865 views

Category:

Documents


4 download

DESCRIPTION

2013/02/01 「Microsoft × TFSUG 共催イベントを開催 | アジャイル, ALM, TFS, DevOps 2013年の開発トレンドをいち早くキャッチアップ」でのセッション資料です

TRANSCRIPT

Page 1: Java de TFS

TFSは.NET専用じゃないですよ~

Page 2: Java de TFS

自己紹介

HN:ぶらっく(@__Black)ぶらっくの技術メモhttp://blackssi.cocolog-nifty.com/blog/

金融系業務パッケージ担当SE

パッケージ適用

業務アプリ作成/カスタマイズ

機器制御プログラム作成(RS-232C)

クラスタ環境構築

TFS使い始めてまだ2年ぐらい?

TFSUGスタッフです

※広島在住

Page 3: Java de TFS

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

TFSは.NET専用?

○Team Explorer Everywhere(TEE)

Eclipse/コマンドからTFSにアクセス

Eclipseでは、VSのチームエクスプローラーと

ほぼ同機能を実現

○Team Foundation Server Build Extensions

ビルドエージェントでAnt/Marven/JUnitの

実行をサポート

Page 5: Java de TFS

いきなりですが、完成形を

Page 6: Java de TFS

JavaでTFSを使うための構成例

TFSサーバ/ビルドサーバWindows Server 2012

クライアントWindows 8+Eclipse

ビルドサーバ TFSサーバ クライアント

Page 7: Java de TFS

構築概要

OSインストール

TFSインストール

Java関連インストール

チームプロジェクト作成

ビルド定義作成

Page 8: Java de TFS

構築概要

OSインストール

TFSインストール

Java関連インストール

チームプロジェクト作成

ビルド定義作成

Page 9: Java de TFS

インストールレシピ

○TFSサーバ

.NET Framework 3.5 SP1(役割と機能の追加)SQL Server 2012

TFS with Update1(アプリケーション層)※インストール時は「詳細」で

Page 10: Java de TFS

インストールレシピ

○ビルドサーバ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

インストールレシピ

○クライアントEclipse(Juno)

TEE with Update1

JDK/JUnit/ EclEMMA/FindBugs/CheckStyle

→クライアントでも個別に確認できるように

Team Explorer(Visual Studio Shell)

1台だけでもかまいません

→ビルド定義を編集するときに使用します。

Page 12: Java de TFS

インストールレシピ

○注意点

・ビルドサーバをTFSサーバと分けることができるのはAD環境だけ

Page 13: Java de TFS

構築概要

OSインストール

TFSインストール

Java関連インストール

チームプロジェクト作成

ビルド定義作成

Page 14: Java de TFS

プロジェクト作成

○TFSチームプロジェクトチームエクスプローラーで普通に作成してください(Scrum, Agile, CMMIどれでもOKです)

○Eclipse Javaプロジェクト

(たぶん)普通に作成してください

Page 15: Java de TFS

とりあえず、チェックイン

○チームエクスプローラーからTFSチームプロジェクトに接続

○Eclipseプロジェクトで「チーム」-「プロジェクトの共用」リポジトリー・タイプとして「Team Foundation Server」を選択

Page 16: Java de TFS

構築概要

OSインストール

TFSインストール

Java関連インストール

チームプロジェクト作成

ビルド定義作成

Page 17: Java de TFS

作成するビルド定義

○Ant用ビルド定義ファイル(build.xml)

○TFS用ビルド定義

Page 18: Java de TFS

TFSのビルドフロー(概略)

ビルドサーバ

TFSサーバ クライアント

ビルド要求ビルド実行

ビルド結果 終了通知

Page 19: Java de TFS

Build.xmlの作成

ほぼ通常通り作成してください。

注意点は「フォルダ構成」

TFSのビルドで使用するフォルダを使用すること

→Ant実行時にTFSから環境変数が設定されるのでこれを使用します。

BinariesRoot:ビルド生成物格納フォルダ→このフォルダに格納されたファイルが共有フォルダに自動展開されます。

Page 20: Java de TFS

フォルダ構成

・JavaProject1

TFSチームプロジェクト名・BuildJava1

TFSビルド定義名・bin

先ほどの「BinariesRoot」・src

Build.xml(Ant)上でのRootフォルダ

Page 21: Java de TFS

Build.xmlの作成

○一口メモ

Ant「失敗」の定義を作成しておくTFSのビルドを「失敗」と認識させるには、Antを失敗させる必要があります。例:各ツールのいづれかがエラーを

検知したら、Antを失敗させる

Page 22: Java de TFS

Build.xmlの作成

Page 23: Java de TFS

Build.xmlの作成

Page 24: Java de TFS

Build.xmlの作成

○Jacoco実行結果ファイル名の指定無指定だと、カバレッジ取得ファイルは「BuildType」(TFSBuild.projの保存場所)に出力されるが、レポート作成時は「src」を参照するので、エラーになる

→coverageタスクで「destfile=“jacoco.exec”」をあえて指定する

Page 25: Java de TFS

TFS用ビルド定義の作成

Build.xmlをチェックイン後、「Eclipseの」

チームエクスプローラーからビルド定義を作成します。

○一口メモ

AntのTargetを指定したい時にはTFSBuild.projを変更し、TFSのビルド定義でTarget名を指定できるようにする方法があります。

Page 26: Java de TFS

TFS用ビルド定義の作成

Page 27: Java de TFS

TFS用ビルド定義の作成

※この編集はVisual Studio Shellのみ可能です

Page 28: Java de TFS

これだけで・・・

○Eclipseのチームエクスプローラーからビルドが実行できます。(チェックイン時/定刻ビルドも可能)

○TFSのビルド定義を「ゲートチェックイン」にすれば、リポジトリ内のソースコードを綺麗に保てます。(テストが通らない/ソースが汚い状態であれば、チェックインされません!)

Page 29: Java de TFS

その他

○JUnitのテスト結果(成否)はTFS(Build Extensions)が勝手に取り込みます。

○追加ファイルが必要な場合、TFSのソース管理に追加し、相対パスで参照します。

○新規クライアントで最初にTFSからソースを取得するときには、Eclipseの「インポート」で取得できます。

○ほぼ同じ内容で、Team Foundation Serviceでも使えるようになります。