VS2005 TFSの自動ビルドの概要

ここからは、VS2005 TFSを使った自動ビルドで何ができるのか、そしてどのような設定が必要なのかを紹介していきます。

先ほど解説した通り、自動ビルドにはビルドツールと自動テストツールが必須です。Visual Studio 2005ではそれぞれ、モジュールをビルドするためのビルドツール(MSBuild)と、ユニットテスト機能があります。

これらを活用し、Visual Studio 2005のメニューからボタン1つですべてのテストが自動で行えることは「Visual Studio 2005を活用した、テスト駆動開発とソフトウェア品質向上アプローチ」で解説しておりますので、そちらをご参考ください。

 

自動化される作業

VS2005 TFSが自動化してくれる作業を表2に示します。
 

  • ビルド
  • ユニットテスト
  • 静的コード分析
  • 自動ビルドの結果の電子メールでの送信
  • ビルドエラー時の作業項目の自動生成

    表2:VS2005 TFSによって自動化される作業


    自動ビルドの設定

    次に、自動ビルドを設定する手順について解説します。

    チームエクスプローラの「Team Builds → New Team Build Type」を選択し、ウィザードが立ち上がったら表3の1から4までの項目を入力します。
     

    1. team build typeの指定
    2. ビルド対象のソリューションとワークスペースの指定
    3. ビルドの構成(Release/Debug)とプラットフォームの指定
    4. その他環境の指定
    1. ビルドを実施するマシン
    2. ビルドを行うためのソースコードをチェックアウトする(aで指定したマシンのローカルフォルダ)
    3. ビルド結果を格納する共有フォルダ

    表3:自動ビルドの設定項目

    自動ビルドの設定ファイルの格納場所
    図2:自動ビルドの設定ファイルの格納場所
    (画像をクリックすると別ウィンドウに拡大図を表示します)

    なお、このウィザードで設定した項目はソースコード管理のルートに生成される「TeamBuildTypes」ディレクトリの下のTFSBuild.projファイルにXML形式で記述されますので、後で編集することができます。

    このXMLの設定ファイルは当然のことながら、ソースコード管理システムにより管理されています。変更するためには、チェックアウトして編集後にチェックインすることになります。どんな変更を行ったのかを後で確認することもできます。誰かがおかしな設定を行った場合でも、すぐに元に戻すことができます。

     

    自動ビルドの実行とスケジューリング

    チームエクスプローラの「Team Builds → Build Team Project プロジェクト名」を選択すれば、自動ビルドを実行することができます。

    なお、自動ビルドをスケジュールするような機能はないようです。ですが、コマンドラインツール(tfsbuild.exe)を利用し、Windows OS標準のタスクスケジューラの機能に登録することで決まった時刻に自動ビルドを走らせることができるようになります。

    例えば、VS2005 TFSのサーバが「tricolore」というマシン名で、「TestProject」というチームプロジェクト名で、TeamBuildTypeが「Test3」という構成であった場合、tfsbuild.exeを利用し、コマンドラインで自動ビルドを実行することができます。なお、以下の例はビルドに失敗した場合の標準出力の内容です。

    tfsbuild.exeの実行結果

    c:/>tfsbuild tricolore TestProject Test3
    (省略)
    Build number: Test3_20060109.1
         Initializing build
         Getting sources
         Compiling sources
         Compiling WindowsApplication1.sln for Any CPU/Release
         Compiling WindowsApplication1.csproj
         Getting changesets
         Copying log files to drop location
         Creating work item
         Failed
    c:/>

    人気記事トップ10

    人気記事ランキングをもっと見る

    企画広告も役立つ情報バッチリ! Sponsored

    ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30