#はじめに
ここでは Azure DevOps Pipelines (以下 Pipelines) で利用可能なホスト環境を紹介したいと思います。
※2020.06.27時点で iOS/Android の Micorosoft-hosted 環境では Unity インストール時に問題があるため Self-hosted 環境でしか動作確認は行えていません。
Microsoft-hosted 環境でのエラーの状況
-
iOSmacOS を環境として選択した場合、Unity のインストールでドライブのマウントが正常に行えないためエラーWindows 環境ではそもそもビルドできない
-
AndroidiOS と同じくドライブマウントでエラーWindows 環境では SDK/NDK の使用許諾で承認が行えない(ダイアログで承認が必要なため)
※上記の問題は 2020.7.29 時点で解消されました。ただし、ひと手間必要になりますので、別途紹介したいと思います。
##ホスト環境の種類
ホスト環境には以下の二種類の環境があります。
#Microsoft-hosted
これは Microsoft が提供しているクラウド環境で、自前で Windows や Mac などの端末を用意する必要がないので手軽に始めるにはかなり便利に扱えます。
Microsoft-hosted を利用する上でのメリット・デメリットは以下です。
###メリット
- 自前で機材やソフトを用意する必要がない
- ビルドごとにクリーンな環境が使える
- ビルドに必要なツールはだいたいはインストールされている
- 足りないツールは自動でインストールができる
###デメリット
- リモート接続が行えない(リモートデスクトップや PowerShell でログインできない)
- 必要なツールがインストールされていない時はインストールから始まるのでビルド時間が長くなる
#Self-hosted
一方こちらは事前に用意している端末を利用したい場合に選択します。
余っている Mac があるからそれをビルドマシンとして利用すると言った場合です。
Microsoft-hosted ではどうして手が届かない場合に使うものだと思ってもらえばいいです。
###メリット
- 自分の環境をそのまま使える
- ビルドが速い
###デメリット
- 予めビルド環境を用意しておく必要がある
足りないツールを自動でインストールができない- 予めエージェントというものを登録しておかないといけない(最初の一回だけ)
#ホスト環境の選択方法
では、実際にホスト環境を選択する方法はというと YAML ファイルに以下のような記述をするだけです。
# Microsoft-hosted (Mac)
pool:
vmImage: 'macOS-latest'
# Self-hosted (Mac)
pool:
name: 'Unity Build for Mac'
Microsoft-hosted で利用可能な OS は簡単にまとめると以下の通りです。
OS | 指定方法 |
---|---|
Windows (Server) | windows-latest |
Mac | macOS-latest |
Linux | ubuntu-latest |
詳細は公式サイトを参照ください。
Microsoft-hosted agents
#おわりに
とりあえずサクッと自動ビルドの環境を揃えたい人は確実に「Microsoft-hosted」一択です。
ただし、ちょっと凝ったビルド環境を整えたいと人は「Self-hosted」を選択するしかないかもしれません。
とりあえず私は何とか Microsoft-hosted 環境で揃えようと試行錯誤しますが…。
Self-hosted のエージェント登録については以下の投稿を参照してください。
Self-hosted 環境を構築する方法