上述した通り、ビルド定義の作成画面の[Build]タブにある[Add build step]リンクをクリックすると、ビルド定義にビルドステップを追加できる。ここでは、デプロイタスクを追加してみよう。
デプロイ用の処理として上の画面に示したテンプレートが用意されている。現時点ではAzureおよび、WinRMを使用してのデプロイ処理が用意されている。用意されていない環境へのデプロイを行う場合は左側のペーンで[Utility]を選択したときに表示される内のシェルやバッチファイルを実行して、デプロイを実施する必要がある。ここではAzure Web Apps(旧Azure Websites)へのデプロイ処理を組み込んでみよう。
左側のペーンで[Deploy]を選択し、右側に表示されたテンプレートの中から[Azure Web App Deployment]の右側にある[Add]ボタンをクリックして、最後に[Close]ボタンをクリックするとビルドステップにデプロイ処理が追加される。これにより、ビルドステップの一覧に赤い字で[Azure Web App Deployment]というステップが追加される。
ビルドステップを追加すると、既定では最後に追加される。この場合はデプロイ処理なので最後で問題ないが、処理の順番を入れ替えたい場合には、ドラッグ&ドロップで自由に順番を変更できる。デプロイは最後で問題ないので、このまま追加する。
前述の[MSBuild Arguments]欄にmsbuildコマンドへ渡すコマンドラインオプションを指定した場合、パッケージ名はプロジェクト名がそのまま使用されるので、[Web Deploy Package]欄には以下のように指定する。
$(build.stagingDirectory)\WebApplication.zip (プロジェクト名がWebApplicationであるため)
Azureへのデプロイに必要な資格情報はAzureのサイトから入手できる拡張子「.publishsettings」のファイルの情報を使用する(後述)。まずはこれをダウンロードしておこう。
次に、VS Onlineの右上にある歯車アイコンをクリックして、[Services]タブをクリックする。あるいは上記の画面の(4)に示した[Manage]ボタンをクリックすると、この画面が直接表示される。
緑の十字アイコンをクリックすると、使用するサービスが選択可能だ。Azure以外にもChefや、Web API、GitHubといった外部サイトのパスワードもしくはトークンを使用して認証する発行が可能だ。
例として、先ほどダウンロードしたAzureの発行プロファイルを使用したデプロイタスクの登録を紹介する。選択肢の中から[Azure]をクリックすると、次の画面が表示される。
ここで.publishsettingsファイルの内容を使用する。(3)では[Credentials]ラジオボタンを選択してユーザー名とパスワード認証にすることも可能だが、パスワードを保存させることになるため、[Certificate]ラジオボタンを選択することを強く推奨する。必要事項を記入し、認証方法に[Certificate]ラジオボタンを選択して、ManagementCertificateキーの値を入力した後に[OK]ボタンをクリックする。認証が成功すると、次の画面が表示される。
このような画面が表示されれば、選択したAzureサブスクリプションを使用して、Azureへの発行が可能になる。
上の手順に従って、接続サービスを設定したら、Webアプリの名前やロケーションなどの必要事項を指定し、最後に[Save]ボタンをクリックしてビルド定義の編集を終了しよう。
スケジュール、もしくはCIを設定したビルド定義はチェックインもしくはスケジュールに従って実行される。手動で実行するときはビルド定義の作成/編集画面で[Queue Build]ボタンをクリックすればよい。画面上でも、ビルド定義の左端の[▼]ドロップダウンからでも実行可能だ。
作成したビルド定義が一度で動けば問題ないが、変更が正しく実行できるとは限らない。変更中にビルドの要求が発生することもある。そのような場合、[Save]ボタンをクリックするとそのままビルド定義が保存されるが、その右側にある[▼]ドロップダウンをクリックすると、[Save as a draft]という項目が表示される。
[Save as a draft]を選択して、一時保存すると、登録済みのビルド定義とは異なり、ビルド定義名に「draft」という名前が付いた別名で一時保存される。ビルド実行結果も異なるものとして扱われるため、修正前のビルド結果と混在することはない。
この状態で[Queue build]ボタンをクリックすると、一時保存状態のビルド定義が実行される。名前が異なるので、実行結果が上書きされることもないし、ビルド定義の誤りによりビルドが失敗するとVS Onlineではビルド品質が低下していくが、この場合はビルドが失敗したとしてもビルド品質に影響も与えない。
一時保存状態のビルド定義の実行を確認して、問題がなければ、[publish draft]ボタンをクリックすれば、上書き保存される。
プロジェクトに単体テストが組み込まれており、ビルド時に実行されていれば、テスト結果を参照することも可能だ。
複数の組み合わせのビルドが行われた場合、それぞれについてテスト結果を確認できる。
テスト結果ページではビルド時に実行された単体テストの実行結果を確認することが可能だ。詳細に確認したい場合、VSで開いて確認することもできる。
Copyright© Digital Advantage Corp. All Rights Reserved.