キューへのビルドの配置
ビルド定義時に[トリガー]タブでチェックインのトリガとして[継続的インテグレーション]を選択している場合、チェックインごとにサーバでビルドが行われるようになる。明示的にビルドを実行する場合は作成した[チーム エクスプローラー]タブで作成したビルド定義(この場合は「MvcApplication1 CI Build」)を右クリックして、(表示されるコンテキスト・メニューから)[新しいビルドをキューに配置]をクリックすると(次の画面を参照)、ビルドが実行される。
これにより、(次の画面のような)キューを選択するためのダイアログが表示される。
(2)の[ビルド対象の選択]では、チェックイン済みのソース・コードでビルドを行うときには[最新のソース]を、シェルブセットを持つソース・コードでビルドしたい場合は[シェルブセットを持つ最新のソース]を選択する。シェルブとは、英単語の意味は「棚」で、ソース管理においては「TFS内に保存する一時的な作業領域」という意味になる。変更したコードを保留状態のまま(チェックインはしないで)TFSに登録することで、シェルブセットはシェルブに登録する、変更された項目のこと。コードが正しいかが不明瞭な場合や、優先度が高い別の作業を行うために、一時的にコードを棚上げする際に、この機能を使用する。シェルブセットの内容が正しいときには、これをチェックインしたり、逆に正しくないときには取り下げたり(アンシェルブ)できる。
なお、シェルブの基本的な考え方についてはTeam Foundation Server 2010を対象にした記事だが「連載:Team Foundation Server 2010入門 第3回 Team Foundation Server 2010で一歩先行くソース管理」などを参考にされたい。
このダイアログの[パラメーター]タブでは、ビルド・プロセスに渡すパラメータをビルド定義の値から変更できる。通常は変更する必要はないが、何らかの事情でビルド定義の値と異なる値を指定したい場合はここで変更できる。次の画面はその変更例だ。
ビルドの経過および結果の確認と通知
キューに配置されたビルドはサーバによって順次実行されていく。ビルドの経過および結果はTFS Webアクセス、ビルド通知、Visual Studioのいずれでも確認できる。以下に各ツールでビルドの経過および結果を表示したところを示す。
TFS Web Accessでは上部にある[ビルド]タブをクリックするとビルドの経過および結果が表示される。赤地に白の×マークはビルドが失敗したことを意味している。ビルドが失敗したときの対処方法については、この後で説明することにしよう。
次の画面はチーム・エクスプローラでの表示だ。
最後にVisual Studioに付属の通知ツールを使用した場合の表示を示す。
ここまではオンプレミス版のTFSでのビルド定義の方法とビルドの実行について解説したが、サービス版のTF Serviceを使っている場合でも[ビルドの既定値]タブでの設定を除けば手順は同じだ。以下はTF Serviceを使用している場合の[ビルドの既定値]タブである。
ビルド・コントローラがTF Service組み込みのものから変更できない状態になっており、一方でステージングを行う場所の選択肢が増えている。オンプレミス版にはない項目のみ解説を行う。
ステージング場所 | 説明 |
---|---|
[ビルド出力を次のソース管理フォルダーにコピーする] | TF Serviceのサーバ内に保持する場合に選択する。どのくらいまで保持できるかは公表されていないが、生成結果が大きくなると分かっている場合は選択しないほうがいいだろう |
[ビルド出力をサーバーにコピーする] | Windows Azureへデプロイする場合に選択する。Windows Azureへのデプロイは今後の連載の中で解説する |
ビルド・コントローラおよびビルド・エージェントはTFS管理コンソールのビルド設定からそれぞれ変更できる。まずはビルド・コントローラの設定について見てみよう。
ビルドに必要なカスタム・アセンブリがソース管理内にある場合、[カスタム アセンブリへのバージョン コントロール パス]で指定しておく必要がある。
次にビルド・エージェントの設定画面だ。
この画面の[作業ディレクトリ]欄に、ビルド・エージェントで指定する作業ディレクトリを指定できる。この画面の設定では「$(SystemDrive)」となっているが、これはWindowsのシステム・ドライブ(通常Cドライブ)を使用することを意味している。Cドライブの容量が多くない場合に失敗する可能性があるため、十分に容量のあるドライブを指定してほしい。
次回は、前回から続く、自動ビルドの説明のまとめとして、TFSを実際に活用していくうえでのポイントや注意点を説明する。
Copyright© Digital Advantage Corp. All Rights Reserved.