くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

Visual Studio Team Services で Xamarin.Android をビルドする!

VSTS こと、 Visual Studio Team Service とは、Microsoftが提供しているチームでの開発を支援するための環境です。

※Visual Studio Team Services 以下、VSTS と記述します。

VSTS を使うメリット

Xamarin.Android と同じ会社が作っている製品ということで、 Xamarin のサポートが強力

たとえば、Xamarin Test Cloud を使う機能が標準で入っていたりします。 また、 Visual Studio 内からも少しごにょれるなど、 Xamarin の開発を行う上で、自然と使えるようになってます。

無料ではじめれる

5人までなら無料で使い始めれる、ビルドをいくつまで並列で行えるかのパイプラインも1本ならは無料で使えます。 お金がない自分にとっては、最適だとおもいました。

やること

1. VSTS のダッシュボード画面を開く

VSTS のアカウントは事前に作成してある前提で話を進めていきます。 また、新規プロジェクトを立ち上げてある状態です。

VSTS のダッシュボード画面

2. Github との連携

今回は、 Github においてある Visual Studio の Xamarin Template で作ったまんまの コードをビルドしていきたいと思います。

Github との連携するために Github による VSTS に対する認証が必要です。

ここで、 上部にあるツールバーの一番右に配置してある歯車のアイコンにマウスをホバーさせると出てくるメニュー の中から Services を選択します。

Services の画面

New Service Endpoint の部分をクリックし、 出てくるドロップダウンボックスから Github を選択します。

すると、Github との連携の設定画面が出てきます。 Authorize をクリックしてください。

出てきた、 Github との連携の設定画面

ID/Pass を入力して、認証してください。 Github との認証が完了した画面

3. ビルドタブへ移動

以下の写真に従い、 ビルド&リリース タブへ移動します。

ダッシュボード画面からビルド&リリース画面への移動

VSTS の ビルド&リリース画面

4. 新しいビルド定義を作成

ビルド定義とは、VSTS で Xamarin.Android をビルドするときにどのような方法でビルドするのか、どこへデプロイするのか、とかを決めます。基本的には、ここを編集していきます。

以下の写真のように、新しいビルド定義を作成します。 ビルド定義のテンプレートはいくつかありますが、ここでは、 Xamarin.Android の定義を使って作成していきます。

新しいビルド定義を作成する画面

Xamarin.Android のビルド定義を選択している画面

Xamarin.Android のビルド定義を作成し終えた画面

すでに、少しエラーが出てますね(^^;

5. 最低限必要ないプロジェクトを削除する

Xamarin Component Restore のタスクを削除する

とりあえず、 Xamarin Component Restore のタスクは今は必要ないので、削除します。

Xamarin Component Restore を削除している画面

Xamarin Test Cloud のタスクを削除

先ほどと同じように Xamarin Test Cloud のタスクも削除してください。

Xamarin Test Cloud のタスクを削除している画面

必要のないタスクを削除したあとの画面

6. Github からソースを取り込む設定をする

今回は、 Github で作成している Xamarin.Android のプロジェクトをビルドしていくので、

以下のように Get Source をクリックすると、ソースコードを取り込む元を選択できます。ここでは、 Github を選択してください。

7. ビルドするプロジェクトを指定する

Xamarin.Android のテンプレートで作成したビルド定義は、 .Droid と名前のついたプロジェクトを Xamarin.Android のプロジェクトと判断して、よしなにビルドしてくれます。
しかし、最新の Xamarin の作成する Xamarin のプロジェクトの名前は、 hoge.Android という形になっています。 そこで、少し手を加えてあげる必要があります。

Before

After

まだ続きます。

以前私のブログで紹介したバッドノウハウを使わなければいけません。
具体的には、 Xamarin.Android プロジェクトのビルド時にJDK8 を使うように明示的に指定しなければいけないgoo.gl

以下の感じで設定してあげてください。

Before

After

8. ビルドを実行する

ついに、ビルドの時間がやってきました。

右上の Save & Queue をクリックしてください。

Agent Type を Hosted へ変更し、 Queue をクリックすれば、完了です。

View post on imgur.com
i.imgur.com

おまけ

VSTS のビルドが成功したら Twitter に通知したりもできます ネコミミー