SlideShare a Scribd company logo
Visual Studio OnlineとUnityを使った
バージョン管理と
継続的インテグレーション
2015年7月22日
日本マイクロソフト株式会社 セミナールーム C・D
中村 薫
自己紹介
中村 薫
TFSUG主宰
フリーランスで主にDepthセンサー系の仕事をしています
アプリケーション開発、講演、
ハンズオンセミナー、執筆など
Microsoft MVP for Visual Studio ALM (Apr 2012 - Mar 2014)
Microsoft MVP for Kinect for Windows (Apr 2014 - Mar 2016)
http://www.naturalsoftware.jp/
2
お品書き
1. Visual Studio Online(VSO)とは
2. Unityアプリの開発環境
3. Unityアプリのバージョン管理
4. Unityアプリの自動ビルド
5. Unityアプリの自動テスト
6. Unityアプリの継続的インテグレーション
今日の概要
• Unityを題材にしていますが、Visual Studio
Onlineの外部ビルドという側面があります。
• ほかの自動ビルド、自動テストでも考え方は使え
ます。
今日の流れ
1. Unityアプリを
2. Visual Studio Onlineでビルドして
3. 実行ファイルを作ってもらう
今日使うもの
• 開発用環境
• Unity 5.1.2f1
• Visual Studio 2015
• Visual Studio Tools for Unity 2015
• Visual Studio Online
• GitHub for Windows
• ビルド用環境
• 開発環境と同じもの
• できるだけ別のPCが良い
Visual Studio Online(VSO)とは
Visual Studio Onlineとは
https://www.visualstudio.com/products/what-is-visual-studio-online-vs
Visual Studio Onlineとは
• コードリポジトリ、タスク管理、テスト管理、自動ビルドなど、
開発に必要な機能をそろえたツール。
• Team Foundation ServerはVisual Studio Onlineのスナップ
ショット。
• リポジトリはGitを選択可能でpull request機能あり。
• タスク管理はScrumを利用可能。タスクカンバンも。
• 自動ビルドはWindowsアプリならVSO上で、Windows以外で
もビルドサーバー上で可能。
• 無償利用から始められ、ビルドやテストでの従量課金など。
https://www.visualstudio.com/products/what-is-visual-studio-online-vs
Unityアプリのバージョン管理
Unityアプリの特長
• 動画や画像、音声データなどが多く入るため、
データ量が大きくなる
• 1ファイルあたりのサイズも大きい
ファイル容量の増加
Unityアプリのバージョン管理どうしてる?
• GitHub?
• Bitbucket?
• Visual Studio Online?
• Dropbox?
• Gitリポジトリ?
• SVN?
• ファイルサーバー?
• してない?
有名なリポジトリサービス
• GitHub
• ファイルあたり100MB
• Bitbucket
• ファイルあたり2GB
• Visual Studio Online
• いまのところ上限なし
• テラバイトくらいまでは大丈夫らしい
VSOでのGitリポジトリ作成
からコミットまで
VSOでのGitリポジトリ作成からコミットまで
1. VSOでサイトを作成
2. Visual Studioでclone
3. GitHubからUnity用のgitignoreを取得
4. GitHub for Windows でcommit,push
※個人的に好きな手順です
VSOでサイトを作成
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する
gitginoreを探す
https://github.com/github/gitignore
Unityプロジェクトを作成
GitHub for Windows でcommit,push
Unityアプリの
継続的インテグレーション
前提
• 現状ではVSO単体でUnityアプリのビルドができないの
で、外部のビルドサーバーが必要
• VSOのビルドサーバーにUnityがないため
外部マシンを利用したCIの種類
• Service Hookを利用したビルド
• 外部のJenkinsを起動する
• Jenkinsがインターネット上に存在する必要あり
• vso-agentを利用したビルド
• コマンドラインからビルドする
• ビルドマシンがローカルでも良い
Service Hookを利用したビルド
Service Hookpush
vso-agentを利用したビルド
vso-agent
の呼び出しpush
Unityでの自動ビルド
•Unityにはバッチモードがある
•コマンドライン引数を組み合わせることで、
自動ビルドや自動テストが可能
Unityでの自動ビルド
http://docs.unity3d.com/ja/current/Manual/CommandLineArguments.html
Unityの自動ビルド
ビルドスクリプト
デモ時注意:push時にUnityを閉じておくこと
http://docs.unity3d.com/ja/current/Manual/BuildPlayerPipeline.html
コマンドラインからビルド
> "C:¥Program Files¥Unity¥Editor¥Unity.exe“-quit -batchmode -
executeMethod MyEditorScript.PerformWindowsBuild
Unityの自動テスト
Unity Test Tools
• NUnitベース
• Unityエディター上でテストができる
• ユニットテスト
• インテグレーションテスト
https://www.assetstore.unity3d.com/jp/#!/content/13802
Unityエディター上でテスト
Unityエディター上でテスト
コマンドラインからテスト
> “C:¥Program Files¥Unity¥Editor¥Unity.exe” -quit -
batchmode -executeMethod UnityTest.Batch.RunUnitTests
テスト結果
これで準備ができました
VSOの設定
手順
1. vso-agentをインストール
2. ビルド定義を作成
3. ビルド
vso-agentをダウンロード
PowerShellを実行
vso-agentの設定
vso-agentが接続された
ビルド定義を作成
• 空のビルド定義
• Utility/Command Lineを追加
• 自動ビルド用
• Utility/Command Lineを追加
• 自動テスト用
• Test/Publish Test Result
• 自動テスト結果を保存
• Build/Publish Build Artifactsを追加
• ビルド成果物を保存
自動ビルドの設定
自動テストの設定
テスト結果を保存する
成果物を保存する
ビルドを実行する
ビルド経過が表示される
ビルドが成功する
ビルド結果を確認する
テスト結果を確認する
成果物をダウンロードする
自動ビルドされた成果物
うまくいかないとき
• ビルドマシンでコマンドラインからビルドを試す
• Unityのバージョンは同一?
今の課題
• ビルド、テストが失敗した時の理由がわからない
• テスト結果が反映されない
参考
• Build your Visual Studio projects
• https://www.visualstudio.com/get-started/build/build-your-app-vs
• Jenkins with Visual Studio Online
• https://www.visualstudio.com/get-started/integrate/service-hooks/jenkins-and-vso-vs
www.naturalsoftware.jp
62

More Related Content

PDF
Depthセンサーで稼ぐ
PDF
いま注目のセンサー&デバイス
PDF
Kinect v2 応用事例
PDF
ウェアラブルデバイスとモーションセンサーの融合
PDF
内蔵化、モバイル化に向かうDepthセンサー
PDF
HVC-C Open Fab Night HVC-CをiOSでいじってみた
PDF
インテル Real Sense Hands On Lab
PDF
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Depthセンサーで稼ぐ
いま注目のセンサー&デバイス
Kinect v2 応用事例
ウェアラブルデバイスとモーションセンサーの融合
内蔵化、モバイル化に向かうDepthセンサー
HVC-C Open Fab Night HVC-CをiOSでいじってみた
インテル Real Sense Hands On Lab
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06

What's hot (20)

PDF
ジェスチャ認識・物体形状取得がもたらす新たな未来
PDF
GCS2014 TMCN
PDF
KinectやRealSenseの概要とさまざまな使い方
PDF
エフサミ2014
PDF
Kinect、real senseの概要とさまざまな使い方
PDF
はじめてのKinect for windows v2
PDF
TMCN Vol 8
PDF
Kinect Camp with TMCN / Kinect v2 概要
PDF
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
PDF
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
PDF
Angularおじさんの1年
PDF
iOSで利用できるデバイスファームのメリット・デメリットの紹介
PDF
デスクトップ向けUIコンポーネントの対応状況と今後の予定
PPTX
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
PDF
LIGにおけるフロントエンドチーム構築
PPTX
スマホアプリディレクターが考えていること
PPTX
Another Visual Studio - Visual Studio for Mac
PPTX
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
PDF
スクリプトエンジン作って 無双する
PDF
その素敵なUI基盤を目指して・・・
ジェスチャ認識・物体形状取得がもたらす新たな未来
GCS2014 TMCN
KinectやRealSenseの概要とさまざまな使い方
エフサミ2014
Kinect、real senseの概要とさまざまな使い方
はじめてのKinect for windows v2
TMCN Vol 8
Kinect Camp with TMCN / Kinect v2 概要
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
Angularおじさんの1年
iOSで利用できるデバイスファームのメリット・デメリットの紹介
デスクトップ向けUIコンポーネントの対応状況と今後の予定
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
LIGにおけるフロントエンドチーム構築
スマホアプリディレクターが考えていること
Another Visual Studio - Visual Studio for Mac
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
スクリプトエンジン作って 無双する
その素敵なUI基盤を目指して・・・
Ad

Viewers also liked (15)

PDF
はじめてのTeam Foundation ServerとVisual Studio Online
PPTX
Slide01
PDF
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
PDF
VSOで始めるXcodeでのビルド
PDF
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - 北風と太陽またの名を現場に導入するたったひとつの冴えたやりかた
PDF
Java勢もVSO使いたい!~JavaEE7 on Ubuntu~
PDF
Arduinoで遊ぼう #2近くの物体との距離を測る
PDF
Visual studio2013からGithubへPushする方法
PDF
紫色の研究 - 画像処理によるパープルフリンジ除去
PPTX
Team Foundation Server / Visual Studio Online を利用したチーム開発の実践
PDF
HMCN - センサー&デバイスでできる楽しい事例紹介
PDF
Hiroshima Motion Control Network 12, September, 2015
PPTX
Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4
PPTX
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
PPTX
広告目線から見たHoloLens - 坪倉輝明
はじめてのTeam Foundation ServerとVisual Studio Online
Slide01
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
VSOで始めるXcodeでのビルド
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - 北風と太陽またの名を現場に導入するたったひとつの冴えたやりかた
Java勢もVSO使いたい!~JavaEE7 on Ubuntu~
Arduinoで遊ぼう #2近くの物体との距離を測る
Visual studio2013からGithubへPushする方法
紫色の研究 - 画像処理によるパープルフリンジ除去
Team Foundation Server / Visual Studio Online を利用したチーム開発の実践
HMCN - センサー&デバイスでできる楽しい事例紹介
Hiroshima Motion Control Network 12, September, 2015
Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
広告目線から見たHoloLens - 坪倉輝明
Ad

Similar to Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション (9)

PDF
Visual studio online and Agile
PPTX
Team Foundation Server/Visual Studio Onlineアップデート(2015/07/22)
PPSX
開発生産性と品質向上を実現する開発基盤の構築
PPTX
Xamarin の救世主 Unity !
PDF
Unityと.NET
PDF
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
DOCX
Team Founfation Server / Visual Studio Online ハンズオン トレーニング手順書
PDF
Let’s study unity
PDF
DEV-005_200 時間以上お客様と向き合って見えた Team Foundation Server による開発業務効率化の実現方法
Visual studio online and Agile
Team Foundation Server/Visual Studio Onlineアップデート(2015/07/22)
開発生産性と品質向上を実現する開発基盤の構築
Xamarin の救世主 Unity !
Unityと.NET
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Team Founfation Server / Visual Studio Online ハンズオン トレーニング手順書
Let’s study unity
DEV-005_200 時間以上お客様と向き合って見えた Team Foundation Server による開発業務効率化の実現方法

More from Kaoru NAKAMURA (16)

PDF
AR/VR seminar
PDF
3D depth sensor world
PDF
HoloLensとWindows Mixed Reality が実現する新しい世界
PDF
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
PDF
HoloLens概要 仙台IT文化祭
PDF
HoloLens概要
PDF
HoloLensハンズオン(ショート)
PDF
HoloLensハンズオン(セットアップ)
PDF
子どもとデジタル現在進行形
PDF
Blue Line Tokyo
PPTX
Scratchとkinectで簡単モーションプログラミング
PDF
Kinect for Windows v2
PDF
ロボロボ・祭り2014
PDF
Tmcn Leap Motion
PDF
MVP Community Camp
PDF
第5回業開中心会議
AR/VR seminar
3D depth sensor world
HoloLensとWindows Mixed Reality が実現する新しい世界
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
HoloLens概要 仙台IT文化祭
HoloLens概要
HoloLensハンズオン(ショート)
HoloLensハンズオン(セットアップ)
子どもとデジタル現在進行形
Blue Line Tokyo
Scratchとkinectで簡単モーションプログラミング
Kinect for Windows v2
ロボロボ・祭り2014
Tmcn Leap Motion
MVP Community Camp
第5回業開中心会議

Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション