MacinCloud の Visual Studio Team Services でのビルドと、iOS のビルドのサポート強化について

 

本記事は、マイクロソフト本社の Microsoft Application Lifecycle Management の記事を抄訳したものです。 【元記事】 MacinCloud Visual Studio Team Services Build and Improvements to iOS Build Support 2015/11/18 7:00 AM

Visual Studio Team Services (旧 Visual Studio Online) と Team Foundation Services 2015 ではクロス プラットフォーム対応のビルド システム (英語) がサポートされ、Windows や Linux、OS X で実行できるビルドをすばやく簡単に構成できるようになりました。すべての Visual Studio Team Services アカウントで Windows ベースのホスト型ビルド エージェントを無料で利用できますが、これまで Xcode/iOS のビルドに対応するクラウド ホスト オプションはありませんでした。これでは、自社データセンターでの Mac の管理を希望しない場合や、小規模企業で継続的インテグレーション (CI) 専用の Mac ハードウェアの保守が難しい場合に困ったことになります。

この問題を解決するために、マイクロソフトは MacinCloud と提携し、Visual Studio Team Services (Visual Studio Online) のビルド エージェント プラン (英語) を導入しました。これによりセットアップが合理化され、必要なソフトウェアに MacinCloud サーバーがプレインストールされているため、ごくわずかな手順を経るだけで利用を始められるようになります。このプランは現在プレビューとして 1 エージェントあたり月額 30 ドルで提供され、ビルドの作業時間に制限は設けられていません。このプランを利用する場合、署名証明書やアプリのビルドとリリースに必要なプロビジョニングプロファイルを入手するために Apple Developer Program に登録する必要がありますが、無償版の Visual Studio Team Services でも「プライベート」エージェント スロットが無料で 1 つ提供されるため、MacinCloud エージェントを使用することができます。

この記事では、Visual Studio Team Services アカウントに MacinCloud エージェントを簡単に追加できること、また、Mac でのプロジェクト ビルドのサポート強化のために行った多数の機能強化についてご説明したいと思います。

 

Visual Studio Team Services Mac ベースのクラウドビルドをサポートするための 5 つの手順

Visual Studio Team Services で Mac ベースのビルドをセットアップするには、わずか 5 つのステップを実行するだけです。

  1. Visual Studio Team Services にサインアップ (英語) します (無償版 Visual Studio Online でも MacinCloud を使用できます)。
  1. MacinCloud の Visual Studio Team Services (Visual Studio Online) プラン (英語) にサインアップします。これで、MacinCloud ポータルから Visual Studio Team Services (Visual Studio Online) エージェントの機能を利用できるようになります (ご不明な点については、support@macincloud.com までお問い合わせください)。
  1. Visual Studio Team Services で Agent Pool Administrators グループと Agent Pool Service Accounts グループにユーザーを追加します。

A) [Account Admin] (右上の歯車アイコン)、[Control Panel]、[Agent pools] タブ、[All Pools] の順に選択します。

B) ユーザーを Agent Pool Administrators および Agent Pool Service Accounts グループに追加します。

 

  1. Visual Studio Team Services でエージェントへの「アクセス トークン」を作成します。

A) Visual Studio Team Services で右上のユーザー名をクリックし、[My Profile] を選択します。

B) [Security]、[Personal Access Tokens]、[Add] の順に選択します。

C) 名前を指定して、タイムアウト期間を [1 yr] に設定し、[All Scopes] を選択し、トークンを取得します。

  1. MacinCloud ポータルでエージェントをセットアップします。

A) [Developer]、[VSO Agent (Preview)] の順に選択し、リスト内の未使用のエージェント スロットのいずれかの [Edit] をクリックします。

B) Visual Studio Online ドメイン (https://mydomain.visualstudion.com) と手順 4 で作成したアクセス トークンを入力し、Visual Studio Online インスタンスに一意の名前を指定して、[Save] ボタンをクリックします。

C) 必要に応じて、後からこの画面を使用して任意の数の証明書やプロビジョニング ファイルをアップロードすることもできます。ただし、Xcode および Cordova プロジェクトの場合は、新機能を利用してこの手順を完全に省略することが可能です。

重要: Visual Studio Team Services (Visual Studio Online) インスタンスでは、「プライベート」エージェント スロットが無料で 1 つ提供されます。これには任意の MacinCloud エージェントも含まれますが、無償版ではホストされた Windows エージェントも利用することができるほか (合計 2 つ)、必要に応じて追加のプライベートスロットを購入できます。

プロジェクトのビルド定義を作成する

セットアップが完了したら、Visual Studio Team Services を使用してプロジェクトのビルド定義を作成します (英語)

 

Xcode および React Native プロジェクト

すべての Visual Studio Team Services インスタンスで、新しい Xcode のビルド手順を利用できるようになりました。新たに追加されたオプションでは、リポジトリ内の証明書とモバイルプロビジョニング ファイルを参照するだけで、Visual Studio Online エージェントが自動的に証明書のインストールと管理を行うように設定することもできます。その後、証明書はプロジェクトのローカルで管理されるため、証明書を探し回る必要がなくなります。これは MacinCloud にぴったりです!

Xcode のビルド手順のセットアップはわかりやすいものになっていますが、テストを実行し、xctool (英語) を使用してテスト結果を Visual Studio Team Services に発行する方法や、Xcode 7 以降を使用して MacinCloud でテストを実行する方法の詳細は、こちらのチュートリアル (英語) でご確認いただくこともできます。また、初めて CI 環境で署名やプロビジョニングを管理する場合には、証明書管理に関するチュートリアル (英語) で詳細をご確認ください。

React Native プロジェクトでも同じビルド手順を使用できます。さらに簡単にセットアップできるよう引き続き改善に取り組んでいます。詳しい情報と現在のセットアップ手順は、こちらのブログ記事 (英語) でご確認いただけます。

 

Cordova プロジェクト

新しい Visual Studio Team Services (Visual Studio Online) の拡張機能 (英語) を使用すると、CI 環境での Cordova プロジェクトのセットアップが簡単になります。Xcode のビルドと同じ証明書管理機能を利用できるほか、Cordova の複数のバージョンをキャッシュしてパフォーマンスを向上させることなどが可能です。これらのタスクは、Tools for Apache Cordova やコマンド ライン ツール (Ionic (英語) など) で作成されたプロジェクトを含む、Cordova の CLI に準拠したすべてのプロジェクトで機能します。

Visual Studio Team Services に Cordova 拡張機能 (英語) をインストールするだけで、Cordova または Ionic 用の手順を利用できます。ビルド手順の構成は簡単ですが、Karma を使用したアプリのテストなど、完全なセットアップ手順の詳細はこちらのチュートリアル (英語) でご確認いただけます。

 

Xamarin iOS プロジェクト

現在、Xamarin iOS プロジェクトをセットアップするには MacinCloud で Xamarin ライセンスを手動でアクティブ化し、MacinCloud ポータルから MacinCloud のサーバーの署名証明書を追加する必要があります。Xamarin のオフラインでのアクティブ化 (英語) 手順に従い、Xamarin および MacinCloud のサポート担当者と共にアクティブ化を行ってください。

近く、Xamarin ライセンスのビルド手順を使用してライセンスをアクティブ化し、Xcode や Cordova で利用可能になった署名機能を利用できるようにする予定ですので、もうしばらくお待ちください。

 

まとめ

Visual Studio Team Services チームでは、マイクロソフトのクラウドおよびオンプレミスのソリューションを使用して、CI 環境でさらに簡単に Xcode プロジェクトや iOS プロジェクトのビルドを行えるようになるよう取り組みを進めています。こうした機能強化や MacinCloud の新たなサービスが皆様のお役に立てば幸いです。また、マイクロソフトでは機能やサービスのさらなる改善のために、皆様からのフィードバックをお待ちしています。UserVoice (英語) からアイデアやご意見をお聞かせください! また、MacinCloud にも、メールまたは Twitter 経由で新サービスに関するご質問、問題報告、ご提案をお待ちしています。

Visual Studio Team ServicesMacinCloud (英語) をどうぞご活用ください!

 

Chris Patterson (Visual Studio Team Services、主任プログラム マネージャー) @chrisrpatterson

Chris Patterson は、Team Foundation Server 担当の主任プログラム マネージャーです。長年のキャリアの中で数多くのソフトウェア企業に在籍し、Classic ASP や VB から Java、.NET まで、多岐にわたるテクノロジに携わってきました。現在は Team Foundation Server のビルド自動化機能のクラウド移行に取り組んでいます。

 

Chuck Lantz (Visual Studio クライアント ツール、シニア プログラム マネージャー) @chuxel

Chuck Lantz は開発者、アドバイザー、アーキテクトとして 15 年以上の経験を持ち、中規模から大規模のさまざまな企業の IT の現場で実績を重ねてきました。マイクロソフトには 2012 年から在籍しており、現在はモバイル アプリ開発を担当しています。

David Estey-Ang 氏 (Moboware Inc.、運用担当バイス プレジデント)David@MacinCloud.com

Ang 氏は 7 年間にわたり金融およびテクノロジ分野での運用管理に携わっています。2014 年より Moboware Inc. のサービスである MacinCloud で、運用管理に加えて新製品開発、企業戦略を総合的に担当しています。