現時点では新しいビルドシステムのビルド定義はVSから作成、実行できない。VS Onlineの[BUILD]タブでビルド定義を作成する。ビルド定義の作成に関しては、GitとTFVCで大きく違うところはない。ほとんど共通なので、差分についてのみ適宜紹介する。
新しいビルドシステムは現在VS 2013 Update5から作成および、実行することができない。VS 2015ではチームエクスプローラーから作成することが可能だが、テンプレートを使用することができない。
すでに用意されているテンプレートから作るとかなり楽なので、Webポータルから作成する方法をお勧めする。
上でも述べたように、新しいビルドシステムのビルド定義はVS Onlineの[BUILD]タブで作成する。
左側のペーンにある[Build definitions]の下の[All build definitions]をクリックすると、新しいビルドシステムの定義が一覧され、[XAML definitions]の下の[All build definitions]をクリックすると従来のビルドシステムにおけるビルド定義が表示される。[XAML definitions]はVSからしか作成できず、逆に新Buildシステムでは本記事執筆時点ではWebからしか作成できない。
緑の十字をクリックすると、ビルド定義の作成が開始され、次の画面が表示される。
上の画面から分かるように、いくつかの種類のビルドテンプレートがあらかじめ定義されている。冒頭で説明した通り、用意されているテンプレート全てのビルドがVS Onlineでビルド可能になっているわけではない。例えば「Xamarin.iOS」や「Xcode」のようにMacが必要となるビルド定義はMacでビルドエージェントを実行する必要がある。エージェントの構築方法は後述する。
なお、後述するサポートされているツールを組み合わせて、自分で新しいテンプレートを作成することも可能だ。
まずは[Visual Studio]テンプレートを選択して、[OK]ボタンを押してみよう。すると次の画面のようになる。
なお、選択したテンプレートに応じて、すでに処理(ビルドステップ)が組み込まれている。上の画面の中央のペーン([Add build step]リンクの下)に表示されているのがそうだ。[Visual Studio]テンプレートの作成直後はソリューションのビルド、テストの実行、デバッグ用シンボルの発行、生成ファイルのコピーがビルドでは行われるようになっている。[Visual Studio]テンプレートで組み込まれるステップはビルドに関連したもののみだが、デプロイ用の定義も用意されているし、このステップにデプロイのタスクを追加することにより、ビルドからデプロイまで一気に実施することも可能だ。
[MSBuild arguments]欄にはmsbuildコマンドに渡すコマンドラインオプションを指定できる。通常は指定する必要はないが、AzureやIISへのデプロイを行う場合、引数でパッケージを生成するオプションを指定する必要がある。以下のオプションをそのままコピーして貼り付ければよい。
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.stagingDirectory)"
デプロイタスクをビルド定義に組み込む方法は後述する。
ビルド定義作成画面の[Options]タブでは、ビルドオプションを指定できる。
このタブの一番上にある[MultiConfiguration]チェックボックスをチェックすると複数のビルドを同時に実行できる。その下にある[Continue on Error]にチェックしていれば、一つの構成のビルドが失敗しても、他の構成のビルドは継続される。
[Repository]タブではビルドで使用するリポジトリを指定する。
このタブではソースコードを取得するリポジトリを指定する。新しいビルドシステムではビルドの独立性が高くなった。[Repository Type]ドロップダウンでは以下の3通りのいずれかが選択可能だ。
[Repository type]はドロップダウンによる選択式になっており、ビルド定義ごとにいずれか一つのリポジトリを指定する。ただし、上の画面はTFVCを使用したチームプロジェクトのものであり、VS OnlineのリポジトリをGitで作っている場合は設定が少し異なっている(以下の画面を参照)。
チームプロジェクトをGitで作った場合、リポジトリのブランチを選択可能な一方で、TFVCとは異なり、マップやクロークの項目がなくなっている。
Copyright© Digital Advantage Corp. All Rights Reserved.