« 2012年6月 | トップページ | 2012年8月 »

2012年7月

2012年7月29日 (日)

TFS2010でWindowsPhone7プロジェクトを自動ビルド

とある方から「Windows Phoneでも自動ビルドとか自動テストとかできますか~?」と聞かれ、「できます」と返答させて頂いたのですが、ちょっと気になって実際に確認してみました。
自動ビルドについては、「準備する環境に条件がある」だけでした。

○確認環境について
 ・ワークグループ環境
  AD環境でもあまり内容は変わりません。
 ・ビルドサービス用アカウントを別途作成
  今回は「DTFSBuild」というユーザを作成しています。
  権限はUsersで問題ありません。
 ・TFSサーバは構築済
 ・プロジェクトコレクションのビルドサービスアカウントにビルドサービス用アカウント(今回はDTFSBuild)を追加
005

○OS/SDKのインストール
 
 まず、ビルドするためにはビルド環境にSDKをインストールする必要がありますが、SDKのサポートOSはWindows VistaとWindows 7ですので、サーバ系OSは使えません。
 TFSはクライアントOSにもインストール可能ですのでWindows7環境を作成します。
 ここがこのネタの最大のポイントになるのですが、必ず「32bit環境」で作成してください。
 Windows Phone7ネタというよりかはSilverlightネタになるのですが、「64bit版のMSBuildではSilverlightプロジェクトがビルドできない」という問題があります。
 
 ※Visual Studio Engineering Teamのブログに64bit版MSBuildでのネタが掲載されています。
 64bit版Windows7でビルド環境を構築し、ビルドを実行すると、こんな感じでエラーになります。
004
 自分はこの原因がすぐにわからず、結構な時間ハマってました。orz

 次に、現時点でのWindows Phone SDKの最新版である7.1をインストールします。

 また、ビルド生成物の出力/共有フォルダを作成しておきます。
 →とりあえずなら共有フォルダ/ローカルセキュリティともに「Everyone:フルコントロール」でOKです。

○TFSのインストール/ビルド構成
 TFS本体のサーバは構築済の前提とし、ビルドサーバのみ構築しますので、インストールする機能を「Team Foundation ビルド サービス」のみ選択してインストールします。
001

 インストールした後は構成ウィザードに従ってビルドサービスを構成します。
 
 「ビルドコンピュータの構成」でビルドサービスを実行するユーザとして「DTFSBuild」を指定します。
002


○TFSチームプロジェクトの作成/Windows Phone7プロジェクトの作成/Windows Phone7プロジェクトの登録
 これらは普通に行ってください。

○ビルド定義の作成
 基本的には普通に作成しますが、他のビルドエージェントで実行されないように、エージエントを固定します。
 ビルド定義の「プロセス」-「エージェントの設定」-「名前フィルター」に、Windows7環境のエージェント名を指定します。
 (通常は「[コンピュータ名] - エージェント1」という名前になります)
003


これで、チームエクスプローラーとかから普通にビルドを実行できるようになります。

2012年7月22日 (日)

TFSハンズオンで準備した環境

7/21にヒーロー島で開催させて頂いたTFSハンズオン用に準備した環境で、一部の方々から反応(強烈な内容だと、これ便利だから某支店に置きっぱなしにしろとかw)がありましたがので、「こんなスペックでできるんだ」といった感じで見て頂ければと思い、メモも兼ねて残しておきます。

持ち込んだPCは一部の方々にしてみれば普通のマシンスペックですw
○CPU:Corei73820K-C2
  6コア12スレッドです。
○メモリ:4GB×8枚=32GB
○ディスク
 ・2TB HDD SATA2×1
 ・512GB SSD SATA×1

OSとかは、すべて評価版で構築しています。
・Windows Server 2008 R2
 
・Windows 7 Enterprise
・Visual Studio 2010 Ultimate SP1
・Office Professional Plus 2010
・Team Foundation Servwe 2010 SP1

概要ですが、
○Hyper-V環境を構築
○TFSサーバ環境構築
 仮想マシンのスペックは
 ・論理CPU:2個
 ・メモリ:4GB
 ・ディスク:100GB(可変割り当て)
  実体は20GB程度しか使用していません。
  作成先はSSDです。
 ・普通にインストールすればOKです。
 ・ADは使用しません。
 ・接続用の全ユーザを登録します。(今回は40ユーザ)
 ・使用するチームプロジェクトを作成しておきます。(40プロジェクト)
 ・ファイアウォールはすべてOFFにします。
○クライアントベース環境構築
 仮想マシンのスペックは
 ・論理CPU:1個
 ・メモリ:1GB
 ・ディスク:100GB(可変割り当て)
  こちらは35GBぐらい使用しています。
  作成先はSSDです。
 ・コンピュータ名は適当に設定します。
 ・リモートデスクトップ接続の設定を行っておきます。
 ・Visual Studio/Officeを普通にインストールします。
 ・Windows Updateはこの環境で適用してしまいます。
 ・ファイアウォールはすべてOFFにします。
○個別クライアント環境構築
 ・ベース環境のディスクを親ディスクとして、差分ディスクで構築しました。
  CPU/メモリはベース環境と同一です。
 ・コンピュータ名/ハンズオンで使用するユーザ(今回は1台で1ユーザのみ)を登録します。
 ・IPアドレスの割り当ては、今回は固定IPアドレスで設定しました。DHCP割り当てという手もありますが、DHCPに登録しなければいけないので、手間はあまり変わらないかもしれません。

この環境だと、TFSサーバ+クライアント約20台ぐらいは同時使用できます。

○使用感
 今回、参加頂いたのが10名ちょっとでしたので、皆様に仮想環境を使用して頂きました。
 ハンズオンですので、あまりガツガツ使用することもなく、ヘビーなVSプロジェクトでもありませんが、結構サクサク動いてたようです。
 レポート表示したり、CIとかゲートチェックインで一斉にビルドが実行されるタイミングとかもありましたが、そんなに待たされることもなく実行できていました。

○おまけ
 ・今回の環境は、約3日ぐらいかけて作成しました。
 ・運搬する際に、SSDはつけたまま、HDDは外しました。
 ・個別クライアント環境の作成は、ほぼ手作業でヒーヒー言いながら作成していました。
 Windows Server 2012とWindows 8になれば、PowerShellでいろんなことが自動化できそうですので、次回作成することがあれば頑張ってみたいなと思います。
 ・MSさん、コミュニティ用にAzure利用枠ください。それが一番楽ですw
 

ヒーロー島 TFS Day in 広島 参加

7/21に開催されたヒーロー島は、TFS Dayということで、
 ・Developers Extreme Way @長沢さん
 ・Team Foundation Server 2012 「Express」って何?
 ・Team Foundation Server 2010 Hands on Labs
という内容でした。

今回、とある流れから広島でTFSのセッションをお願いしたところ快諾頂き、開催することができました。長沢さん、ヒーロー島スタッフの方々、その他ご支援頂きました方々、ありがとうございました。

○Developers Extreme Way
 
 プロジェクトの現状から始まり、ビジネスとITの関係、アジャイルコンセンサス、DevOps、Continuous Value Delivery、Visual Studio 2012の開発コンセプト、Visual Studio2012+TFS/Test Manager/Feedback Clientのデモなどなど、ここ数か月で長沢さんがいろんなセッションでお話されてきた内容が1つにまとまったような感じでした。
 しかも、長沢さんのセッションとしては珍しく、USTREAM中継も行われていたという贅沢なセッションでした。
 セッション資料はブログで公開されていますので、是非見て頂きたいです。

○Team Foundation Server 2012 「Express」って何? @自分
 今回、無償版のTFSであるExpress版でについての概要をお話させて頂きました。
 セッション資料は、こちらで公開しています。
 小規模が前提となりますが、「とりあえず、VSSから移行する」とか、「ちょっと使ってみたい」という環境であれば、無償ですぐに導入できるのでは?と思います。

○ハンズオン
 以前、名古屋で初開催されたTFSハンズオンの内容を広島で実施してみました。
 西日本では初開催ではないかと。
 要求事項/作業項目の登録から始まり、ユニットテストの作成、CI(継続的インテグレーション)環境の作成、レポート機能の確認、チェックインポリシー/ゲートチェックインなどなど、TFSで開発を行うにあたっての一通りの機能を一通り体験して頂きました。
 最後がグダグダになってしまい、参加頂いた方の感想をお聞きするのを忘れてしまったのが反省点です。

○その他
 きよくらさんがTogetterでまとめを作成してされています。ありがとうございます。

懇親会で、「1回で終わらせるのはもったいない」などのうれしいお言葉を頂いたこともあり、またTFS関連のセッションができればと思います。
(今回スケジュールの都合でお越し頂けなかったあの方の広島召喚も頑張ります)

2012年7月17日 (火)

第10回 TFSUG : ざっくりわかるScrum and Team Foundation Server に参加しました

今回のTFSUGは、スクラム界隈では有名な@ryuzeeさんによる「ざっくりわかるScrum and Team Foundation Server」でした。
滅多に聞ける内容ではないと思い、休暇取得&自腹で参加してきました。

大半の内容はスライドに綺麗にまとめられていますので、個人的なメモを少しほど。
(スライドはこちらで公開されています)

・プロダクトオーナーがいないのであれば、仕事をしてはいけない
 →「無駄なものを作る」ことになる
・最初のスプリントに対してある程度正確な見積もりができないのは当たりまえ。実績がないから。
 スプリントの結果をフィードバックして見積もりも正確にしていく。
・ツールとアナログは排他ではない。
・スプリントの期間
 →プロダクトオーナーがどのぐらい黙っていられるかw
  →どのぐらいの期間で価値が変動しそうか?/作成した製品(価値)が欲しいか
・チームの能力によってスケジュールが決定する
 チームの能力が上がれば、最初のことは5ポイントでできていたことが3ポイントとか2ポイントでできるようになる。
・絵に書けないようなプロセスで仕事をしてはいけない

胸にグサグサと刺さること多数の内容でしたが、最後の一言がずっしりときました。
絵に書けないということは、複雑怪奇なプロセスだったり、自分がプロセスを理解できていないということであり、そんな状態で仕事しても良いものはできないということが明確にわかる一言です。

2012年7月12日 (木)

7/21(土) ヒーロー島はTFS Day!

最近、ALM(Application Lifecycle Management)界隈がホットな感じですが、
このたび、マイクロソフトの長沢さんに来ていただけることになりました。

詳細/申し込み方法についてはこちらから。
.NET 勉強会 / ヒーロー島 [7月21日(土) ] TFS Day in 広島 を開催します

長沢さんのセッション/名古屋で大反響だったTFSのハンズオンと豪勢な内容になっています。
たぶんですが、西日本のコミュニティでTFSのハンズオンは初めてではないかと思います。

自分もTFS2012 Expressについて話させて頂きますが、期待しないでください^ ^;


TFS触ったことがない方、(TFS関係なく)アジャイル/スクラムについて長沢さんとお話ししたい方、自分のプロジェクト/チームの改善のヒントが欲しい方などなど、ぜひこの機会にご参加ください。
(先月は大阪でTFSのユーザーグループであるTFSUG主催の勉強会、今月はヒーロー島とTFS(ALM)関連の勉強会が西日本で勃発、これから先も西日本で何件かイベントがあるみたいで、「今が旬」って感じです!)

« 2012年6月 | トップページ | 2012年8月 »