連載
» 2013年07月02日 12時00分 公開

連載:いまどきのソース・コード管理:第3回 TFS自動ビルドを実践する (3/3)

[亀川和史,著]
前のページへ 1|2|3       

ソリューションの自動ビルド

キューへのビルドの配置

 ビルド定義時に[トリガー]タブでチェックインのトリガとして[継続的インテグレーション]を選択している場合、チェックインごとにサーバでビルドが行われるようになる。明示的にビルドを実行する場合は作成した[チーム エクスプローラー]タブで作成したビルド定義(この場合は「MvcApplication1 CI Build」)を右クリックして、(表示されるコンテキスト・メニューから)[新しいビルドをキューに配置]をクリックすると(次の画面を参照)、ビルドが実行される。

ソリューションの自動ビルドの設定手順1 ソリューションの自動ビルドの設定手順1
ビルド定義を明示的に実行するには、ビルド定義を右クリックして[新しいビルドをキューに配置]を選択する。

 これにより、(次の画面のような)キューを選択するためのダイアログが表示される。

ソリューションの自動ビルドの設定手順2 ソリューションの自動ビルドの設定手順2
ビルドを配置するキューを選択しているところ。
  (1)ビルド定義名。
  (2)ビルド対象を選択する。[最新のソース]か、[シェルブセットを持つ最新のソース]を選択する。
  (3)ビルド・コントローラを選択する。TFS Expressの場合は通常、TFSと同じサーバとなるが、通常版のTFSでは複数のビルド・コントローラを選択できる。
  (4)キュー内の優先度を選択する。
  (5)キュー内の位置を選択する。
  (6)ビルドの出力結果を格納するフォルダを指定する。TFS Expressの場合、Active Directoryのドメイン・アカウントでビルド・サービスを実行していない場合、ローカル以外のフォルダに出力することは難しい。ビルド定義の出力ファイルがそのまま表示されるので、変更する必要はない。
  (7)キューに登録する。

 (2)の[ビルド対象の選択]では、チェックイン済みのソース・コードでビルドを行うときには[最新のソース]を、シェルブセットを持つソース・コードでビルドしたい場合は[シェルブセットを持つ最新のソース]を選択する。シェルブとは、英単語の意味は「棚」で、ソース管理においては「TFS内に保存する一時的な作業領域」という意味になる。変更したコードを保留状態のまま(チェックインはしないで)TFSに登録することで、シェルブセットはシェルブに登録する、変更された項目のこと。コードが正しいかが不明瞭な場合や、優先度が高い別の作業を行うために、一時的にコードを棚上げする際に、この機能を使用する。シェルブセットの内容が正しいときには、これをチェックインしたり、逆に正しくないときには取り下げたり(アンシェルブ)できる。

 なお、シェルブの基本的な考え方についてはTeam Foundation Server 2010を対象にした記事だが「連載:Team Foundation Server 2010入門 第3回 Team Foundation Server 2010で一歩先行くソース管理」などを参考にされたい。

 このダイアログの[パラメーター]タブでは、ビルド・プロセスに渡すパラメータをビルド定義の値から変更できる。通常は変更する必要はないが、何らかの事情でビルド定義の値と異なる値を指定したい場合はここで変更できる。次の画面はその変更例だ。

ソリューションの自動ビルドの設定手順3 ソリューションの自動ビルドの設定手順3
ビルドをキューに配置する際には既定のパラメータを上書きして指定できる。
  (1)ビルド定義で指定されている引数のうち、変更可能なものが一覧表示される。

ビルドの経過および結果の確認と通知

 キューに配置されたビルドはサーバによって順次実行されていく。ビルドの経過および結果はTFS Webアクセス、ビルド通知、Visual Studioのいずれでも確認できる。以下に各ツールでビルドの経過および結果を表示したところを示す。

自動ビルドの経過&結果1: TFS Web Access 自動ビルドの経過&結果1: TFS Web Access
キューに配置されたビルドはサーバによって順次実行されていく。そのビルド経過および結果はこの画面の赤枠部分のように表示される。

 TFS Web Accessでは上部にある[ビルド]タブをクリックするとビルドの経過および結果が表示される。赤地に白の×マークはビルドが失敗したことを意味している。ビルドが失敗したときの対処方法については、この後で説明することにしよう。

 次の画面はチーム・エクスプローラでの表示だ。

自動ビルドの経過&結果2: チーム・エクスプローラ 自動ビルドの経過&結果2: チーム・エクスプローラ
ビルド経過および結果はチーム・エクスプローラでも表示できる。

 最後にVisual Studioに付属の通知ツールを使用した場合の表示を示す。

自動ビルドの経過&結果2:通知ツール 自動ビルドの経過&結果2:通知ツール
ビルド経過および結果は、Visual Studioに付属のビルド通知でも表示できる。

【コラム】TF Serviceでのビルド定義

 ここまではオンプレミス版のTFSでのビルド定義の方法とビルドの実行について解説したが、サービス版のTF Serviceを使っている場合でも[ビルドの既定値]タブでの設定を除けば手順は同じだ。以下はTF Serviceを使用している場合の[ビルドの既定値]タブである。

TF Serviceを使用している場合の[ビルドの既定値]タブ TF Serviceを使用している場合の[ビルドの既定値]タブ

 ビルド・コントローラがTF Service組み込みのものから変更できない状態になっており、一方でステージングを行う場所の選択肢が増えている。オンプレミス版にはない項目のみ解説を行う。

ステージング場所 説明
[ビルド出力を次のソース管理フォルダーにコピーする] TF Serviceのサーバ内に保持する場合に選択する。どのくらいまで保持できるかは公表されていないが、生成結果が大きくなると分かっている場合は選択しないほうがいいだろう
[ビルド出力をサーバーにコピーする] Windows Azureへデプロイする場合に選択する。Windows Azureへのデプロイは今後の連載の中で解説する


ビルド・エージェントの設定

 ビルド・コントローラおよびビルド・エージェントはTFS管理コンソールのビルド設定からそれぞれ変更できる。まずはビルド・コントローラの設定について見てみよう。

[ビルド コントローラーのプロパティ]ダイアログ [ビルド コントローラーのプロパティ]ダイアログ
ビルドに必要なカスタム・アセンブリへのバージョンコントロール・パスを赤枠部分に指定する。

 ビルドに必要なカスタム・アセンブリがソース管理内にある場合、[カスタム アセンブリへのバージョン コントロール パス]で指定しておく必要がある。

 次にビルド・エージェントの設定画面だ。

[ビルド エージェントのプロパティ]ダイアログ [ビルド エージェントのプロパティ]ダイアログ
ビルド時に使用する作業ディレクトリを赤枠部分に指定する。

 この画面の[作業ディレクトリ]欄に、ビルド・エージェントで指定する作業ディレクトリを指定できる。この画面の設定では「$(SystemDrive)」となっているが、これはWindowsのシステム・ドライブ(通常Cドライブ)を使用することを意味している。Cドライブの容量が多くない場合に失敗する可能性があるため、十分に容量のあるドライブを指定してほしい。


 次回は、前回から続く、自動ビルドの説明のまとめとして、TFSを実際に活用していくうえでのポイントや注意点を説明する。

「連載:いまどきのソース・コード管理」のインデックス

連載:いまどきのソース・コード管理

前のページへ 1|2|3       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。