Incredibuild for Azure を試してみた！

IncredibuildをAzureと連携してハイブリットに使えるようになったそうなので、さっそく設定してみる

### 事前準備
(1)Incredibuildのバージョンを「9.4.1」以上にアップデートしておく

(2)あらかじめレジストリを下記のように変更しておく

```
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xoreax\IncrediBuild\Coordinator]
"ApprovedCloudUser"="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xoreax\IncrediBuild\Log]
"Level"="3"
"LogIncrediCloud"="1"
```

(3)Azure AcriveDirectory でGlobal Administrator かつ Role-Based Access Control (RABC) が Owner の権限を持っているアカウントを作成しておく
![Incredibuild05.5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/c7c0f6cc-d748-5f22-42dc-cc849cb681c9.png)

(4)そのアカウントで利用したいリージョンのクォータ制限を確認し、必要に応じて上限変更のリクエストをする
　※無料試用版では残念ながらリクエストはできない・・・
![Incredibuild5.8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/5e9fd563-9b95-3144-190e-1c49343ff06e.png)


### Incredibuild のインストール
(1)まずはIncredibuildをインストールしCoordinatorを起動する
![Incredibuild01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/f25fa229-0f35-6f87-6d52-4e58b0f5408e.png)

(2)Tools -> CoordinatorSettings をクリック
![Incredibuild02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/a0614093-d0ac-b8f3-d014-89a643a84cca.png)

(3)License -> Load License Files からライセンスファイルをロードする
![Incredibuild03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/aab1601e-6027-a12b-a39d-356f26900a4d.png)

(4)正しくロードされると↓のように表示される
※Azureでビルドするにあたって新規にライセンスなどは必要ない
![Incredibuild04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/19cb6cef-936f-924b-c874-1c80d6f0faa5.png)


### Azure との連携
(1)「Scale to Cloud」ボタンをクリックする
![Incredibuild05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/f7808070-bce4-becd-eb9c-0384dea504a3.png)

(2)Incredibuildのサイトから「TRY INCREDIBUILD CLOUD」ボタンをクリック
![Incredibuild07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/4c655d3a-7835-4de5-5d32-b71ab7f95700.png)

(3)Azureのログイン画面に遷移するので、先ほど作成したGlobal Administrator権限を持ったアカウントでログインする
![Incredibuild08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/3f1dfe25-e901-5a67-e097-c1d3c72158d5.png)

(9)許可追加の確認ページの内容を確認し「承諾」ボタンをクリック
![Incredibuild09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/5ae94a87-7dd6-ef73-1d12-ac94cf677fbb.png)

(10)Incredibuildの設定画面の利用設定画面で利用するリージョンや使うVMなどの設定を実施
　　※コア数、VM数、リージョンのクォーター制限に注意。合っていないとエラーになる(当たり前)
　　設定したら「Save」をクリック
![Incredibuild10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/c6c12607-31fd-fa74-a6db-7c8618c4e444.png)

(11)最終的な確認内容が出てくるので「Approve and Activate」をクリック
![Incredibuild11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/edb6b3bd-d8e9-b354-4239-d416c6f25002.png)

(12)設定したとおりにAzure上にサーバがデプロイされる
　　完成するとCoordinatorでサーバが見えるようになる(認識するまで約5分くらいかかる)
![Incredibuild12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/4a22a659-920f-8175-4d37-041bbcb81745.png)

(13)Azure上からもサーバを確認することができる
適当な名前でよしなに作ってくれるのでありがたい
![Incredibuild13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/845c7137-0b88-c39d-02fc-277d316aa818.png)


(14)サーバの設定変更などは 「Cloud」 -> 「Edit IncrediBuild Cloud Settings」を押すと(2)からと同様の手順で行うことができる
※サーバが存在する状態だと、VMやDisk Typeを変更できないので注意
![Incredibuild14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/e1c4ecf5-41f4-ceb2-a8d8-4a03ebe9b625.png)


### 実際にビルドしてみる
(1)BuildMonitorからは下図のように見える
　![Incredibuild15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313446/35cff3e3-e6b0-6b74-bd43-221f82b64390.png)

ビルドが終わるとAzure上のビルドマシンは自動的にシャットダウンされるので安心
(デフォルトは500秒)
またビルド時にサーバを利用する際には、サーバを起動してCoordinatorから見えていることを確認してからビルドを実行する


### まとめ
・連携のためにAzureAD で GlobalAdministrator権限を持ったアカウントでないといけないのは
会社で使うにはポリシー的にちょっとハードルが高いかもと思いました
・サーバ構築してからCoodinator側で認識するまでにそれなりに時間がかかるので、ビルドの頻度が高い時はサーバをいちいち削除せず残しておいた方が運用的には良さそうです

でも突発的にビルドマシンを増やしたいなどある時にはかなり有用だと思いました！