SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Visual Studio 2008徹底入門

チーム開発はこれで決まり! Visual Studio Team System 2008

Visual Studio 2008徹底入門(10)


  • X ポスト
  • このエントリーをはてなブックマークに追加

チーム開発環境向け機能

 チーム開発環境向けとしては、VSTS2008でも従来同様にVisual Studio Team System 2008 Team Foundation Server(以下、VSTS-TFS)が提供されています。VSTS-TFSも基本的な機能のくくりは従来までのTFSと大きな変更はなく、それぞれの機能が大幅に強化されているという位置づけになっています。従来までのTFSの機能については以下の記事を参照ください。

 従来、チームエクスプローラでチームプロジェクトを展開する際や、作業項目の検索クエリを実行した際など、ある程度の規模になった場合に反応が遅くなるということがよくありましたが、VSTS-TFSでは、作業項目クエリの実行をはじめさまざまな点でパフォーマンスの強化が図られています。また、製品とは別に、codeplexサイトなどで提供されるPower Toolsと呼ばれるツール群も充実し、管理のしやすさが大幅に向上しています。個別の機能としては、チームビルドおよびソース管理の2点が大幅に強化されています。この2つはTFSを使い始めた場合、比較的初期から利用する可能性の高い機能で、従来よりもTFSのメリットを感じやすくなっています。

チームビルド

 チームビルドはVSTS-TFSの中で最も変更の大きい個所ではないかと思います。MSDNライブラリでVisual Studio Team Systemの新機能を確認してみても、Team Foundationの項目の大部分がビルドのために書かれています。チームビルドの強化、追加点は以下の内容です。

  • 新しいMS Buildへの対応
  • ビルドのキューイング
  • ビルドのスケジューリング
  • ソースのチェックインとの連携

 チームビルドは、内部でMSBuildと呼ばれるビルドエンジンを利用します。MSBuildは.NET Framework 2.0と共に登場し、VS2008と同時にリリースされた.NET Framework 3.5で変更や強化が行われました。これに合わせて、VSTS-TFSのチームビルドでも新しいMSBuildに則った変更が行われています。

 新しいチームビルドでは、ビルド定義にスケジューリング情報を設定できるようになりました。ビルド定義のウィザード実行中にトリガという項目で設定することができます。

図11:ビルドのスケジューリング設定
図11:ビルドのスケジューリング設定

 図11に示すように、チェックインをイベントトリガとして、チームビルドを起動したり、ビルドをスケジューリングして、定期的に実行させたりすることができます。このようにして作成されたビルド定義は、ビルドキューにキューイングしておくことで、指定された優先順位やスケジューリング情報に基づいて、順次ビルドを実行させるといったことも可能です。

 このようにビルドの実行に関しては大幅に変更が加えられ、継続的なインテグレーションといった最近の開発スタイルをうまくサポートしています。また、MSBuildの変更に伴い、チームビルドのカスタマイズ性も向上し、既定の設定のみならず独自のスクリプトなどを利用して独自のタスクも柔軟に設定できるようになっています。

MSBuildの強化
 .NET Framework 3.5と同時にリリースされたMSBuild 3.5では、マルチプロセッサやマルチコアのCPUを効率よく利用するなどパフォーマンスの点でも多くの改善があります。また、従来はビルド中に動的に項目やプロパティを作成、変更するために「CreateItem」や「CreateProperty」タスクというものが利用されていました。しかし、これらは動的な変更のサポートは完全ではありませんでした。新しいMSBuildでは、「ItemDefinitionGroup」と呼ばれる項目定義グループの内容をビルド中に直接変更できるため、より簡単にビルド中の項目の作成や変更ができるようになります。VSTS-TFSのチームビルドは内部でMSBuildを利用しているため、新しいチームビルドもこれらのさまざまな変更に対応する形で進化しています。

ソース管理

 ソース管理では、VSTS-TFSで管理されるファイルをより簡単に視覚的にさまざまな視点から情報を得ることができるように変更が加わっています。主だった変更としては、チェックインされているファイルの中身に注釈を設定できること、チェックアウト時に最新バージョンの取得を強制できることが挙げられます。注釈の設定では、Office Wordの変更履歴のような変更箇所の情報を表示することができます(図12)。

図12:注釈情報の表示
図12:注釈情報の表示

 図12の左側が注釈として表示されている内容で、数字(変更セット番号)、変更したユーザー名、変更した日時が表示されています。これにより、今までの変更の累積によりファイルがどのように変わったかをより簡単に確認することができます。なお、図12では、注釈の部分にカーソルを置いてさらに詳細な情報を表示しています。この詳細な情報としては、以下の項目が表示されます。

  • 変更を行ったユーザーの名前
  • 変更を行った日付
  • 変更セット番号
  • 変更が行われた行番号
  • チェックイン時のチェックインコメント

 また、チームプロジェクトでソース管理の設定を選ぶと、「チェックアウト時の最新バージョンの取得を有効にする」という新しい設定項目があります。

図13:チームプロジェクトのソース管理設定画面
図13:チームプロジェクトのソース管理設定画面

 通常、TFSはチェックアウト時にサーバーの最新バージョンを取得してきてチェックアウトするという動作は行いません。そのため、チェックイン時に競合が発生することがありましたが、このオプションを有効にすることで、チェックアウト時にサーバーから最新バージョンを取得したうえでチェックアウトするようになります。この動作はVisual SourceSafeと同じ動きなので、VSSを利用していたユーザーにはソース管理が使いやすくなるオプション設定です。

まとめ

 本稿では、新しくなったVisual Studio Team Systemの中からよく使われそうな機能をピックアップして紹介してきました。他にも細かい変更や使いやすさの向上などがたくさん行われています。ぜひ実際に利用してみてそれらの内容を確かめてみてください。

 全10回でお送りしてきたVisual Studio 2008入門シリーズも本稿で最終回となりました。ツールとしての改良点やテクノロジーとしての改良点などさまざまな視点で紹介してきました。使ってみよう、試してみようというポイントはあったでしょうか。本シリーズの内容がVS2008を利用する足がかりになれば幸いです。

参考資料

  1. Visual Studio 2008 Professional Edition
  2. MSDN ライブラリ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Visual Studio 2008徹底入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2573 2008/09/05 11:23

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング