Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Depthセンサーで稼ぐ
Depthセンサーで稼ぐ
Loading in …3
×

Check these out next

1 of 61 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (15)

Advertisement

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

More from Kaoru NAKAMURA (16)

Advertisement

Recently uploaded (20)

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

  1. 1. Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション 2015年7月22日 日本マイクロソフト株式会社 セミナールーム C・D 中村 薫
  2. 2. 自己紹介 中村 薫 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
  3. 3. お品書き 1. Visual Studio Online(VSO)とは 2. Unityアプリの開発環境 3. Unityアプリのバージョン管理 4. Unityアプリの自動ビルド 5. Unityアプリの自動テスト 6. Unityアプリの継続的インテグレーション
  4. 4. 今日の概要 • Unityを題材にしていますが、Visual Studio Onlineの外部ビルドという側面があります。 • ほかの自動ビルド、自動テストでも考え方は使え ます。
  5. 5. 今日の流れ 1. Unityアプリを 2. Visual Studio Onlineでビルドして 3. 実行ファイルを作ってもらう
  6. 6. 今日使うもの • 開発用環境 • Unity 5.1.2f1 • Visual Studio 2015 • Visual Studio Tools for Unity 2015 • Visual Studio Online • GitHub for Windows • ビルド用環境 • 開発環境と同じもの • できるだけ別のPCが良い
  7. 7. Visual Studio Online(VSO)とは
  8. 8. Visual Studio Onlineとは https://www.visualstudio.com/products/what-is-visual-studio-online-vs
  9. 9. 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
  10. 10. Unityアプリのバージョン管理
  11. 11. Unityアプリの特長 • 動画や画像、音声データなどが多く入るため、 データ量が大きくなる • 1ファイルあたりのサイズも大きい
  12. 12. ファイル容量の増加
  13. 13. Unityアプリのバージョン管理どうしてる? • GitHub? • Bitbucket? • Visual Studio Online? • Dropbox? • Gitリポジトリ? • SVN? • ファイルサーバー? • してない?
  14. 14. 有名なリポジトリサービス • GitHub • ファイルあたり100MB • Bitbucket • ファイルあたり2GB • Visual Studio Online • いまのところ上限なし • テラバイトくらいまでは大丈夫らしい
  15. 15. VSOでのGitリポジトリ作成 からコミットまで
  16. 16. VSOでのGitリポジトリ作成からコミットまで 1. VSOでサイトを作成 2. Visual Studioでclone 3. GitHubからUnity用のgitignoreを取得 4. GitHub for Windows でcommit,push ※個人的に好きな手順です
  17. 17. VSOでサイトを作成 https://www.visualstudio.com/products/what-is-visual-studio-online-vs
  18. 18. コラム:リポジトリの選択基準 • Team Foundation Version Control(TFVC) • Visual Studioのみで開発するようなプロジェクト • リポジトリに入れるファイルを自動で選択 • Git • その他 ※個人的な基準です
  19. 19. Visual Studioでclone 自動的にVisual Studioが起動し、 リポジトリをcloneする
  20. 20. gitginoreを探す https://github.com/github/gitignore
  21. 21. Unityプロジェクトを作成
  22. 22. GitHub for Windows でcommit,push
  23. 23. Unityアプリの 継続的インテグレーション
  24. 24. 前提 • 現状ではVSO単体でUnityアプリのビルドができないの で、外部のビルドサーバーが必要 • VSOのビルドサーバーにUnityがないため
  25. 25. 外部マシンを利用したCIの種類 • Service Hookを利用したビルド • 外部のJenkinsを起動する • Jenkinsがインターネット上に存在する必要あり • vso-agentを利用したビルド • コマンドラインからビルドする • ビルドマシンがローカルでも良い
  26. 26. Service Hookを利用したビルド Service Hookpush
  27. 27. vso-agentを利用したビルド vso-agent の呼び出しpush
  28. 28. Unityでの自動ビルド •Unityにはバッチモードがある •コマンドライン引数を組み合わせることで、 自動ビルドや自動テストが可能
  29. 29. Unityでの自動ビルド http://docs.unity3d.com/ja/current/Manual/CommandLineArguments.html
  30. 30. Unityの自動ビルド
  31. 31. ビルドスクリプト デモ時注意:push時にUnityを閉じておくこと http://docs.unity3d.com/ja/current/Manual/BuildPlayerPipeline.html
  32. 32. コマンドラインからビルド > "C:¥Program Files¥Unity¥Editor¥Unity.exe“-quit -batchmode - executeMethod MyEditorScript.PerformWindowsBuild
  33. 33. Unityの自動テスト
  34. 34. Unity Test Tools • NUnitベース • Unityエディター上でテストができる • ユニットテスト • インテグレーションテスト https://www.assetstore.unity3d.com/jp/#!/content/13802
  35. 35. Unityエディター上でテスト
  36. 36. Unityエディター上でテスト
  37. 37. コマンドラインからテスト > “C:¥Program Files¥Unity¥Editor¥Unity.exe” -quit - batchmode -executeMethod UnityTest.Batch.RunUnitTests
  38. 38. テスト結果
  39. 39. これで準備ができました
  40. 40. VSOの設定
  41. 41. 手順 1. vso-agentをインストール 2. ビルド定義を作成 3. ビルド
  42. 42. vso-agentをダウンロード
  43. 43. PowerShellを実行
  44. 44. vso-agentの設定
  45. 45. vso-agentが接続された
  46. 46. ビルド定義を作成 • 空のビルド定義 • Utility/Command Lineを追加 • 自動ビルド用 • Utility/Command Lineを追加 • 自動テスト用 • Test/Publish Test Result • 自動テスト結果を保存 • Build/Publish Build Artifactsを追加 • ビルド成果物を保存
  47. 47. 自動ビルドの設定
  48. 48. 自動テストの設定
  49. 49. テスト結果を保存する
  50. 50. 成果物を保存する
  51. 51. ビルドを実行する
  52. 52. ビルド経過が表示される
  53. 53. ビルドが成功する
  54. 54. ビルド結果を確認する
  55. 55. テスト結果を確認する
  56. 56. 成果物をダウンロードする
  57. 57. 自動ビルドされた成果物
  58. 58. うまくいかないとき • ビルドマシンでコマンドラインからビルドを試す • Unityのバージョンは同一?
  59. 59. 今の課題 • ビルド、テストが失敗した時の理由がわからない • テスト結果が反映されない
  60. 60. 参考 • 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
  61. 61. www.naturalsoftware.jp 62

×