SlideShare a Scribd company logo
【Azure DevOps で作る】
Microsoft HoloLens アプリ CI 環境
株式会社ネクストスケープ 酒井辰也
Global Azure BOOTCAMP 2019
自己紹介
酒井 辰也(@saka_it)
株式会社ネクストスケープ
• 2015/07~ ネクストスケープ入社
• Web系システムをメインにやっていました
• 2017/05~ xRアプリ開発をやってます
• HoloLensとARアプリ開発をやっています
• Azure もくもく会@新宿 開催しています
• 次回は05月15日(水)19:00~
• 平成最後の年 おじさんになりました
弊社 HoloLens チームのCI/CD環境
Azure DevOps
Repos
Azure DevOps
Pipelines
Azure VM
(Unity・VS)
Azure
Blob Storage
・Git ソース管理
・ブランチ戦略としてGitLab Flowを採用
・CI/CD全体を管理
・masterブランチをトリガーにビルド開始
・Unity/UWPビルドの都合により、
VMを使用してビルド
・成果物をバージョン毎に管理
・アプリを利用してHoloLensへインストール
やること
• ビルドサーバーを構築する
• Azure DevOps にSelf-Hosted-Agentとして登録する
• Pipeline(YAML)を作成する
• ビルドを確認する
なぜ、ビルドサーバーが必要なのか?
• Azure DevOps Pipeline には二つのAgentsがある
• Microsoft-hosted agents
• 予め用意されているビルド環境
• 一定時間無料+追加時間課金で利用できる
• 対応していれば、簡単に利用可能
• Self-hosted agents
• 自前で用意したビルド環境を利用する
• ビルド環境の運用コスト + Agent 単位の課金(無料枠有)で利用できる
• 環境構築が必要だが、カスタマイズしたビルド環境を利用可能
• Unity 対応のビルド環境はないので、Self-hosted を使用
【VM】ビルドサーバーを作成する
• 今回は Azure 上に VM 作成
• OS は Windows Server 2016
• UWP ビルドの都合
• 地域はどこでも OK
• 今回は、MSDN 利用の都合で
「米国西部 2」を使用
• なお、オンプレサーバーなどを
使うこともできます
【VM】ビルドサーバーにアプリをインストールする
• 通常の HoloLens アプリが
ビルドできるように構築
• Visual Studio
• Unity
• Unity をコマンド実行するため
UnityBuildRunner を導入
• guitarrapc さん作成のツール
• dotnet tool コマンドを使用して
インストール
やること
• ビルドサーバーを構築する
• Azure DevOps にSelf-Hosted-Agentとして登録する
• Pipeline(YAML)を作成する
• ビルドを確認する
【DevOps】トークンを作成する
• 右上のユーザーメニューから
「Security」を選択
• 「Personal Access Tokens」の
「New Token」をクリック
【DevOps】トークンを作成する
• Name を入力して、Scopesの
Show all scopes をクリックし、
下記にチェックを入れる
• Agent Pools:Read & manage
• Deployment Groupes:
Read & manage
• 作成後表示されるトークンを
コピーしておく
• 再表示できないので注意!
【DevOps】Agent を作成する
• 「Project settings」から
「Agent pools」を選択
• 「Default」を選択
【DevOps】Agent を作成する
• 「Project settings」から
「Agent pools」を選択
• 「Default」を選択
• 右上の「New agent」をクリック
【DevOps】Agent を作成する
• 「Project settings」から
「Agent pools」を選択
• 「Default」を選択
• 右上の「New agent」をクリック
• 追加手順が表示される
• Download から Agent を
ダウンロードし、zipファイルを
サーバーにコピーする
【VM】Agent をインストールする
• コピーしたファイルを
適当なディレクトリに解凍する
• PowerShell で開き、
下記コマンドを実行する
• 画面の指示通り入力していく
• 設定が完了したら、
下記コマンドで実行する
> .¥config
> .¥run
【VM】Agent をインストールする
https://dev.azure.com/{プロジェクト名}/
トークン文字列
サービス登録・
自動起動をするか?
(今回は手動起動)
Agentを起動
【DevOps】Agent の登録を確認
• Azure DevOps に戻り、
「Default」のAgent pool を開く
• Agents を開く
• 先ほど追加した Agent が
追加されていることを確認する
やること
• ビルドサーバーを構築する
• Azure DevOps にSelf-Hosted-Agentとして登録する
• Pipeline(YAML)を作成する
• ビルドを確認する
【DevOps】Pipeline(YAML)を作成する
• Pipeline → Builds を開く
• 「New pipeline」をクリック
【DevOps】Pipeline(YAML)を作成する
• Pipeline → Builds を開く
• 「New pipeline」をクリック
• コードのあるサービスを選択
(今回は Repos を使用)
【DevOps】Pipeline(YAML)を作成する
• Pipeline → Builds を開く
• 「New pipeline」をクリック
• コードのあるサービスを選択
(今回は Repos を使用)
• 対象のリポジトリを選択
【DevOps】Pipeline(YAML)を作成する
• Pipeline → Builds を開く
• 「New pipeline」をクリック
• コードのあるサービスを選択
(今回は Repos を使用)
• 対象のリポジトリを選択
• 「Starter pipeline」を選択
【DevOps】Pipeline(YAML)を作成する
• Pipeline → Builds を開く
• 「New pipeline」をクリック
• コードのあるサービスを選択
(今回は Repos を使用)
• 対象のリポジトリを選択
• 「Starter pipeline」を選択
• Pipeline YAMLが表示される
【DevOps】Pipeline(YAML)をカスタマイズする(1/5)
pool:
name: 'Default'
trigger:
- master
variables:
UnityPath: 'C:¥Program Files¥Unity¥Editor¥Unity.exe'
UWPSolution: 'UWP¥LAB-HoloLens-CI.sln'
BuildConfiguration: 'release'
UWPAppPackages: 'UWP¥LAB-HoloLens-CI¥AppPackages¥'
使用する Agent pool 名
トリガーとなるブランチ名
ビルド用の変数定義
環境に応じて、
変更する
【DevOps】Pipeline(YAML)をカスタマイズする(2/5)
steps:
- task: DeleteFiles@1
displayName: 'Delete files'
inputs:
Contents: '.¥UWP'
- script: 'UnityBuildRunner -UnityPath "$(UnityPath)" -quit -buildTarget
"WindowsStoreApps" -batchmode -projectPath "$(Build.Repository.LocalPath)" -logfile
"log.log" -executeMethod HoloToolkit.Unity.HoloToolkitCommands.BuildSLN'
displayName: 'Run Unity Build'
Unity ビルド実行部分
(コマンドは1行です)
【DevOps】Pipeline(YAML)をカスタマイズする(3/5)
- task: NuGetToolInstaller@0
displayName: 'Use Nuget'
inputs:
versionSpec: '4.3.0'
- task: NuGetCommand@2
displayName: 'NuGet Restore'
inputs:
restoreSolution: '$(UWPSolution)'
UWP プロジェクトの
NuGet リストア
【DevOps】Pipeline(YAML)をカスタマイズする(4/5)
- task: VSBuild@1
displayName: 'Build solution'
inputs:
solution: '$(UWPSolution)'
msbuildArgs: '/p:AppxBundle=Always;AppxBundlePlatforms="x86"'
platform: 'x86'
configuration: '$(BuildConfiguration)'
clean: true
UWP ビルド実行部分
【DevOps】Pipeline(YAML)をカスタマイズする(5/5)
- task: CopyFiles@2
displayName: 'Copy files'
inputs:
sourceFolder: '$(UWPAppPackages)'
contents: |
**¥*.appxbundle
**¥Dependencies¥x86¥*.appx
targetFolder: '$(Build.BinariesDirectory)'
- task: ArchiveFiles@2
displayName: 'Archive'
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: false
archiveFile: '$(Build.ArtifactStagingDirectory)/artifact.zip'
- task: PublishBuildArtifacts@1
displayName: 'Publish Build Artifacts'
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
ビルド結果をアーカイブして、
パブリッシュ
【DevOps】Pipeline(YAML)をカスタマイズする(全部)
pool:
name: 'Default'
trigger:
- master
variables:
UnityPath: 'C:¥Program Files¥Unity¥Editor¥Unity.exe'
UWPSolution: 'UWP¥LAB-HoloLens-CI.sln'
BuildConfiguration: 'release'
UWPAppPackages: 'UWP¥LAB-HoloLens-CI¥AppPackages¥'
steps:
- task: DeleteFiles@1
displayName: 'Delete files'
inputs:
Contents: '.¥UWP'
- script: 'UnityBuildRunner -UnityPath "$(UnityPath)" -quit -buildTarget "WindowsStoreApps" -batchmode -projectPath "$(Build.Repository.LocalPath)" -logfile "log.log" -executeMethod HoloToolkit.Unity.HoloToolkitCommands.BuildSLN'
displayName: 'Run Unity Build'
- task: NuGetToolInstaller@0
displayName: 'Use Nuget'
inputs:
versionSpec: '4.3.0'
- task: NuGetCommand@2
displayName: 'NuGet Restore'
inputs:
restoreSolution: '$(UWPSolution)'
- task: VSBuild@1
displayName: 'Build solution'
inputs:
solution: '$(UWPSolution)'
msbuildArgs: '/p:AppxBundle=Always;AppxBundlePlatforms="x86"'
platform: 'x86'
configuration: '$(BuildConfiguration)'
clean: true
- task: CopyFiles@2
displayName: 'Copy files'
inputs:
sourceFolder: '$(UWPAppPackages)'
contents: |
**¥*.appxbundle
**¥Dependencies¥x86¥*.appx
targetFolder: '$(Build.BinariesDirectory)'
- task: ArchiveFiles@2
displayName: 'Archive'
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: false
archiveFile: '$(Build.ArtifactStagingDirectory)/artifact.zip'
- task: PublishBuildArtifacts@1
displayName: 'Publish Build Artifacts'
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
【DevOps】Pipeline(YAML)を保存する
• 右上の「Save and Run」を
クリックする
• コミットするため、ダイアログが
出てくるので適宜入力
• master ブランチに直接の他
別ブランチを作成することも可能
• 入力したら、「Save and run」
をクリックする
やること
• ビルドサーバーを構築する
• Azure DevOps にSelf-Hosted-Agentとして登録する
• Pipeline(YAML)を作成する
• ビルドを確認する
【DevOps】ビルド動作を確認する
• (表示されていなければ)
Pipeline → Builds を開く
• 最新のビルドを選択
【DevOps】ビルド動作を確認する
• (表示されていなければ)
Pipeline → Builds を開く
• 最新のビルドを選択
• 成功していれば
• 緑チェックが付く
【DevOps】ビルド動作を確認する
• (表示されていなければ)
Pipeline → Builds を開く
• 最新のビルドを選択
• 成功していれば
• 緑チェックが付く
• 失敗していれば
• 赤バツが付く
• ジョブをクリックで詳細を確認
【DevOps】ビルド結果をダウンロードする
• 成功すれば右上の
「Artifacts」→「drop」から
成果物をダウンロード可能
【DevOps】ビルド結果をダウンロードする
• 成功すれば右上の
「Artifacts」→「drop」から
成果物をダウンロード可能
• 成果物が表示されるので
対象の「Download」を選択
【DevOps】ビルド結果をダウンロードする
• 成功すれば右上の
「Artifacts」→「drop」から
成果物をダウンロード可能
• 成果物が表示されるので
対象の「Download」を選択
• このように成果物を確認可能
• 通常は、この後に Releases で
CD を設定して、適当な場所へ
デプロイします
やったこと
• ビルドサーバーを構築する
• Azure DevOps にSelf-Hosted-Agentとして登録する
• Pipeline(YAML)を作成する
• ビルドを確認する
良い CI ライフを!

More Related Content

What's hot

Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)kojiokb
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama
 
Lattice深掘り話
Lattice深掘り話Lattice深掘り話
Lattice深掘り話
Kazuto Kusama
 
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
Kazuto Kusama
 
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)kojiokb
 
ECS-CLI in Action
ECS-CLI in ActionECS-CLI in Action
ECS-CLI in Action
Ryo Nakamaru
 
Cloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundry V2を、もうちょっと深掘りしようCloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundry V2を、もうちょっと深掘りしよう
Kazuto Kusama
 
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたaws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたkokuboyuichi
 
自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版
Kazuto Kusama
 
Amazon ECSとDevOps
Amazon ECSとDevOpsAmazon ECSとDevOps
Amazon ECSとDevOps
Amazon Web Services Japan
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私
a know
 
はじめてのCF buildpack
はじめてのCF buildpackはじめてのCF buildpack
はじめてのCF buildpack
Kazuto Kusama
 
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Kazuto Kusama
 
CFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service BrokerCFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service Broker
Kazuto Kusama
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
 
CloudFoundryをつかってみよう
CloudFoundryをつかってみようCloudFoundryをつかってみよう
CloudFoundryをつかってみよう
Kazuto Kusama
 
Myfirst buildpack session_mgmt_20161201
Myfirst buildpack session_mgmt_20161201Myfirst buildpack session_mgmt_20161201
Myfirst buildpack session_mgmt_20161201
Tomohiro Ichimura
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Kohsuke Kawaguchi
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
Kazushi Kamegawa
 

What's hot (20)

Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
 
Lattice深掘り話
Lattice深掘り話Lattice深掘り話
Lattice深掘り話
 
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
 
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)
 
ECS-CLI in Action
ECS-CLI in ActionECS-CLI in Action
ECS-CLI in Action
 
Cloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundry V2を、もうちょっと深掘りしようCloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundry V2を、もうちょっと深掘りしよう
 
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたaws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみた
 
自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版自前CF環境を整えよう 2013年11月版
自前CF環境を整えよう 2013年11月版
 
Amazon ECSとDevOps
Amazon ECSとDevOpsAmazon ECSとDevOps
Amazon ECSとDevOps
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私
 
はじめてのCF buildpack
はじめてのCF buildpackはじめてのCF buildpack
はじめてのCF buildpack
 
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
 
CFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service BrokerCFの便利機能を他の環境でも。Open Service Broker
CFの便利機能を他の環境でも。Open Service Broker
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
CloudFoundryをつかってみよう
CloudFoundryをつかってみようCloudFoundryをつかってみよう
CloudFoundryをつかってみよう
 
Myfirst buildpack session_mgmt_20161201
Myfirst buildpack session_mgmt_20161201Myfirst buildpack session_mgmt_20161201
Myfirst buildpack session_mgmt_20161201
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 

Similar to AzureDevOpsで作るHoloLensアプリCI環境

「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜Teruo Adachi
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
Keiji Kamebuchi
 
Getting Start for Azure Pipelines
Getting Start for Azure PipelinesGetting Start for Azure Pipelines
Getting Start for Azure Pipelines
Kazushi Kamegawa
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on Azure
Tsukasa Kato
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
Hayashi Yuichi
 
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
Takashi Kanai
 
[GKE & Spanner 勉強会] GKE 入門
[GKE & Spanner 勉強会] GKE 入門[GKE & Spanner 勉強会] GKE 入門
[GKE & Spanner 勉強会] GKE 入門
Google Cloud Platform - Japan
 
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Akira Inoue
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
shigeki_ohtsu
 
Application Deployment on AWS
Application Deployment on AWSApplication Deployment on AWS
Application Deployment on AWS
Eiji Shinohara
 
Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Etsuji Nakai
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CD
MuleSoft Meetup Tokyo
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Kazuto Kusama
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
Makoto Nishimura
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
日本マイクロソフト株式会社
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShiftEtsuji Nakai
 
Driverについて
DriverについてDriverについて
Driverについて
幸雄 村上
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
Shuji Watanabe
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
 
Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
Yui Ashikaga
 

Similar to AzureDevOpsで作るHoloLensアプリCI環境 (20)

「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
Getting Start for Azure Pipelines
Getting Start for Azure PipelinesGetting Start for Azure Pipelines
Getting Start for Azure Pipelines
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on Azure
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
 
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
 
[GKE & Spanner 勉強会] GKE 入門
[GKE & Spanner 勉強会] GKE 入門[GKE & Spanner 勉強会] GKE 入門
[GKE & Spanner 勉強会] GKE 入門
 
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
 
Application Deployment on AWS
Application Deployment on AWSApplication Deployment on AWS
Application Deployment on AWS
 
Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CD
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
 
Driverについて
DriverについてDriverについて
Driverについて
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
 

More from Tatsuya Sakai

チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件
Tatsuya Sakai
 
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめHoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
Tatsuya Sakai
 
【平成最後に振り返る】HoloLens最新事例紹介
【平成最後に振り返る】HoloLens最新事例紹介【平成最後に振り返る】HoloLens最新事例紹介
【平成最後に振り返る】HoloLens最新事例紹介
Tatsuya Sakai
 
HoloLensデモ展示TIPS集
HoloLensデモ展示TIPS集HoloLensデモ展示TIPS集
HoloLensデモ展示TIPS集
Tatsuya Sakai
 
Holographic Remoting を試してみた
Holographic Remoting を試してみたHolographic Remoting を試してみた
Holographic Remoting を試してみた
Tatsuya Sakai
 
SpectatorView(Preview)を試してみる
SpectatorView(Preview)を試してみるSpectatorView(Preview)を試してみる
SpectatorView(Preview)を試してみる
Tatsuya Sakai
 
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
Tatsuya Sakai
 
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
Tatsuya Sakai
 
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
Tatsuya Sakai
 
ハマる!HoloLensアプリ開発
ハマる!HoloLensアプリ開発ハマる!HoloLensアプリ開発
ハマる!HoloLensアプリ開発
Tatsuya Sakai
 
IoTビジネス共創ラボ xRWG 01回勉強会 NS会社紹介
IoTビジネス共創ラボ xRWG 01回勉強会 NS会社紹介IoTビジネス共創ラボ xRWG 01回勉強会 NS会社紹介
IoTビジネス共創ラボ xRWG 01回勉強会 NS会社紹介
Tatsuya Sakai
 
遅延の少ないLivePreview方法
遅延の少ないLivePreview方法遅延の少ないLivePreview方法
遅延の少ないLivePreview方法
Tatsuya Sakai
 
屋外Holoアプリ開発の注意点
屋外Holoアプリ開発の注意点屋外Holoアプリ開発の注意点
屋外Holoアプリ開発の注意点
Tatsuya Sakai
 

More from Tatsuya Sakai (13)

チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件
 
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめHoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
HoloLens 2 を買った人も!まだの人も! Mixed Reality 関連セッション総まとめ
 
【平成最後に振り返る】HoloLens最新事例紹介
【平成最後に振り返る】HoloLens最新事例紹介【平成最後に振り返る】HoloLens最新事例紹介
【平成最後に振り返る】HoloLens最新事例紹介
 
HoloLensデモ展示TIPS集
HoloLensデモ展示TIPS集HoloLensデモ展示TIPS集
HoloLensデモ展示TIPS集
 
Holographic Remoting を試してみた
Holographic Remoting を試してみたHolographic Remoting を試してみた
Holographic Remoting を試してみた
 
SpectatorView(Preview)を試してみる
SpectatorView(Preview)を試してみるSpectatorView(Preview)を試してみる
SpectatorView(Preview)を試してみる
 
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
初めてのHoloLensアプリ開発~de:code 2018までの挫折と成功
 
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
実録!HoloLens×AI×Azureアプリが開発できるまでの挫折と成功@Tokyo Jazug Night #12
 
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
実録!HoloLens×AI×IoTアプリが開発できるまでの挫折と成功
 
ハマる!HoloLensアプリ開発
ハマる!HoloLensアプリ開発ハマる!HoloLensアプリ開発
ハマる!HoloLensアプリ開発
 
IoTビジネス共創ラボ xRWG 01回勉強会 NS会社紹介
IoTビジネス共創ラボ xRWG 01回勉強会 NS会社紹介IoTビジネス共創ラボ xRWG 01回勉強会 NS会社紹介
IoTビジネス共創ラボ xRWG 01回勉強会 NS会社紹介
 
遅延の少ないLivePreview方法
遅延の少ないLivePreview方法遅延の少ないLivePreview方法
遅延の少ないLivePreview方法
 
屋外Holoアプリ開発の注意点
屋外Holoアプリ開発の注意点屋外Holoアプリ開発の注意点
屋外Holoアプリ開発の注意点
 

Recently uploaded

ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 

Recently uploaded (14)

ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 

AzureDevOpsで作るHoloLensアプリCI環境