Visual Studio Team ServicesとUnity Cloud Buildをつなぐ
2016年06月15日
第35回 TFSUG東京
中村 薫
自己紹介
中村 薫TFSUG主宰
フリーランスで主にDepthセンサー系の仕事をしています
アプリケーション開発、講演、
ハンズオンセミナー、執筆など
Microsoft MVP for Visual Studio ALM (Apr 2012 - Mar 2014)
Microsoft MVP for Kinect for Windows (Apr 2014 - Mar 2016)
Microsoft MVP for Windows Development(Apr 2016 - Mar 2017)
http://www.naturalsoftware.jp/
2
1年たって状況は変わった?
http://www.slideshare.net/kaorun55/visual-studio-onlineunity
今日の流れ
1. Unityアプリを
2. Visual Studio Team Servicesでホストして
3. Unity Cloud Buildで実行ファイルを作ってもらう
今日使うもの
• 開発用環境• Unity 5.3.1f1
• Unity Cloud Build
• Visual Studio 2015 Update2
• Visual Studio Team Services
自分のスキルセット
• Unity• 仕事で使ってる
• Visual Studio Team Services• Unityプロジェクト含めて、仕事のリポジトリ全般
• Unity Cloud Build• さわりはじめ
Unity Cloud Buildとは
https://unity3d.com/jp/services/cloud-build
Unity Cloud Buildとは
• Unity Technologies社が提供している、Unityのビルドサービス
• GitHubやBitbucket、Subversionなどからビルドできる
• Windowsアプリ、iOS,Android,WebGLなど、さまざまなビルドに対応
• iOSのビルドにMac OS X(macOS)が不要になる
• 無料から使用できる
料金体系
https://checkout.unity.com/products/cloud-build?_ga=1.125859333.965420783.1453040348
詳しい使い方はこちらを参照してください
https://speakerdeck.com/warapuri/unity-cloud-buildfalseshi-ifang
Unity Cloud BuildとVisual Studio Team Services
• UnityCloud Buildの対象GitリポジトリはSSHで接続できる必要あり
• Visual Studio Team ServicesがSSH接続をサポートしていなかった
• 最近の更新でVisual Studio Team ServicesがSSH接続をサポートした
Visual Studio Team Servicesとは
https://www.visualstudio.com/ja-jp/products/visual-studio-team-services-vs.aspx
Visual Studio Team Servicesとは
• VSTSと呼んでいる。
• コードリポジトリ、タスク管理、テスト管理、自動ビルドなど、開発に必要な機能をそろえたツール。
• リポジトリはGitを選択可能でpull request機能あり。
• プロセスはScrumを利用可能。タスクカンバンも。
• 自動ビルドはWindowsアプリならVSO上で、Windows以外でもビルドサーバー上で可能。
• 無償利用から始められ、ビルドやテストでの従量課金など。
https://www.visualstudio.com/products/what-is-visual-studio-online-vs
料金体系
https://www.visualstudio.com/products/visual-studio-team-services-pricing-vs
料金体系
https://www.visualstudio.com/products/visual-studio-team-services-pricing-vs
Unityアプリのバージョン管理
Unityアプリの特長
•動画や画像、音声データなどが多く入るため、データ量が大きくなる
•1ファイルあたりのサイズも大きい
ファイル容量の増加
Unityアプリのバージョン管理どうしてる?
• GitHub?
• Bitbucket?
• Visual Studio Online?
• Dropbox?
• Gitリポジトリ?
• SVN?
• ファイルサーバー?
• してない?
有名なリポジトリサービス
•GitHub•ファイルあたり100MB
•Bitbucket•リポジトリあたり2GB
•Visual Studio Team Services•いまのところ上限なし•テラバイトくらいまでは大丈夫らしい
VSTSでのGitリポジトリ作成からコミットまで
VSTSでのGitリポジトリ作成からコミットまで
1. VSTSでプロジェクトを作成
2. Visual Studioでclone
3. GitHubからUnity用のgitignoreを取得
4. Visual Studioでcommit,push
VSTSでプロジェクトを作成
https://www.visualstudio.com/products/what-is-visual-studio-online-vs
コラム:リポジトリの選択基準
• Team Foundation Version Control(TFVC)• Visual Studioのみで開発するようなプロジェクト
• リポジトリに入れるファイルを自動で選択
• Git• その他
※個人的な基準です
Visual Studioでclone
Visual Studioが起動し、リポジトリをcloneする
Unityプロジェクトを作成
Visual Studioでcommit,push
VSTSにpushされる
VSTSを選択する理由
VSTSを選択する理由
• 1プロジェクトの複数リポジトリ
• 無料で無制限のプライベートリポジトリ
• リポジトリ以外にもタスク管理やテスト管理など
1プロジェクトに複数リポジトリ
GitHubVSTS
• 1つのプロジェクトに複数のリポジトリを持てるので、気兼ねなくプロジェクトを入れられる
無料で無制限のプライベートリポジトリ
• 基本はプライベートリポジトリ
• パブリックリポジトリにしたければ、remoteにGitHubなどを追加すればよい
リポジトリ以外にもタスク管理やテスト管理など
Visual Studio Team ServicesとUnity Cloud Buildをつなぐ
プロジェクトを作成する
新しいプロジェクトを作成する
プロジェクト名を設定する
リポジトリのURLを設定する
リポジトリのURLを設定する
リポジトリのURLを設定する
SSH公開鍵の設定(初回のみ)
SSH公開鍵の設定(初回のみ)
ターゲットの設定
ターゲットの設定
プロジェクトサブフォルダー
• Assets、ProjectSettingsの場所を指定
• 下記の例では「CloudBuildSample」を指定する
ターゲットの設定
ビルド!!
ビルド成功
• ビルド結果の実行ファイルをダウンロードできる
ビルドエラーの例
ユニットテスト
• テスト設定から自動テストの有効/無効を切り替える
• テスト有効にした場合、テストのエラーをビルドエラーとみなすかどうかの設定もある
ユニットテスト
ユニットテスト
• もともとUnity Test Toolsというアセット
• Unity 5.3からUnityエディターに組み込まれたので、アセットをインポートする必要はない
• ユニットテストの書き方はNUnit
ユニットテスト
• メニューの「Windows|Editor Test Runner」から開く
• テストコードは「Editor」フォルダの下に置く
• 「Run All」でテストを実行
ユニットテスト
• テストの結果は履歴から確認できる
ビルド成果物のダウンロード
• ビルド結果の実行ファイルをダウンロードできる
• 過去のビルド成果物も保存されている
ダウンロードしたファイルを実行
Enjoy Unity Life!!http://www.naturalsoftware.jp/