Connect(); 2016でVisual Studio Mobile Centerが発表されたりとか、CLR/Hさんのセッション準備とかでちょっと間が空いてしまいましたが、今回はVSTSのビルド定義についてです(Visual Studio Mobile Centerについては一通りまとめた後で紹介したいと思っています)。
※画面/設定内容などは現時点のものになります(クラウド系怖い)。
早速ですが、VSTSのチームプロジェクト作成とかソースコードの登録については省略します。
なお、バージョン管理についてはGitのほうが良さそうです(外部サービスとの連携はGit対応が多いので)。
ビルド定義の作成ですが、テンプレートとしては「Xamarin.iOS」を使用します。
ビルド定義作成の画面でビルドエージェントのデフォルトを指定するところがあります。
通常はAzure側で準備される「Hosted」を使用しますが、今回はMacに作成したエージェントを使用するので、エージェント環境構築時に作成したエージェントプール「localhost」を選択しておきます。
「create」ボタンをクリックすると、ビルド定義の編集画面に変わります。
最初の「Xamarin component restore」タスクはXamarinのコンポーネントをエージェント環境にリストアするときに使用します。
NuGetで組み込み可能なコンポーネントのみでVSプロジェクトが構成されているのであればこのタスクを使用する必要はありません。
使用予定がなければ、右側の×ボタンで削除しても構いません。
※ビルド定義作成時点では、EnabledがOFFになっていますので、実行されません。
「Build Xamarin.iOS solution」タスクでアプリのビルドが実行されます。
詳細はこちら(https://www.visualstudio.com/en-us/docs/build/steps/build/xamarin-ios)を参照してください。
今回作成する定義の設定概要はこんな感じです。
・Solution
VSのソリューションファイルを指定します。パス指定は「・・・」ボタンをクリックしたあとの選択画面で指定することもできます。
・Create App Package
実機転送で.IPAファイルを使用するのでONのままにしておきます。
(デフォルトはON)
・Build for iOS Simulator
実機転送するのでOFFのままにしておきます。
(デフォルトはOFF)
・Override Using (Optional)
署名証明書やProvisioning Profileを切り替えるときに指定します。今回は事前に作成したProvisioning Profileや署名証明書を指定するために「File Contents」を選択します。
・P12 Certificate File
PKCS #12形式(.p12)の署名証明書ファイルを指定します。事前にバージョン管理システムに登録されている必要があります。
・P12 Password
PKCS #12形式(.p12)の署名証明書ファイルを作成するときに指定したパスワードを入力しますが、パスワードが丸見えなのはよろしくないので、ビルド定義の変数として指定し、その値自体を秘密にしておくことができます。
最初に変数名をこの項目に指定します。ここでは"$(P12_Password)"としておきます(カッコ内が変数名になります)。
次にビルド定義画面の「Variables」タブをクリックします。
変数一覧が表示されるので、一番下にある「Add variable」をクリックすると、変数の入力行が追加されます。
Nameに"P12_Password"を、Valueにパスワードを入力し、右側にある鍵マーク(青色の枠のところ)をクリックすると、Valueに入力した内容が「●」に変わります。
もう一度鍵マークをクリックすると、Valueに入力した内容はクリアされるので、別の人が入力内容を見ようとしても見れないようになっています。
・Provisioning Profile File
Provisioning Profileのファイルを指定します。事前にバージョン管理システムに登録されている必要があります。
・Arguments
詳しく確認はしていないのですが、ビルド時のプラットフォームとして「iPhone Simulator」が使われてしまったことがあったので、自分は念のために"/p:Platform=iPhone"を指定しています。
「Test **/*.ipa with Xamarin.UITest in Xamarin Test Cloud」タスクですが、Xamarin Test Cloudでテストを実行する際に使用します。
今は連携しないので使用しません(デフォルトはEnabledがOFFになっています)。
「Copy Files to: $(build.artifactstagingdirectory) 」タスクと「Publish Artifact:drop」タスクはデフォルトのままにします。
ビルド定義の設定が終わったら、「Save」で保存します。「Queue new build…」をクリックするとビルドが実行されます。
やっとVSTSでのビルドを実行するところまで来ました。次はMicrosoftが提供しているモバイルアプリの開発や運用を支援するためのサービス「HockeyApp」を使って、作成したアプリを実機展開したり、利用統計を取得することについて書いていきます。
※最初に書いたように、モバイルアプリ開発/運用支援サービスとしてVisual Studio Mobile Centerが発表されましたが、現時点ではPreviewなのと、基本的なところはVSTS+Xamarin Test Cloud+HockeyAppなので、このまま続けていきます。