Want to use SSH with your Team Services account? Send me email at buckh-microsoft-com to get it turned on. #vsts
— Buck Hodges (@tfsbuck) 2016年5月9日
という案内が来ていたので、早速やってもらいました。いろいろ試してみようということで、@kaorun55にUnityのサンプルを作ってもらって、Unity Cloud Build連携をやってみました。
Unity Cloud Buildがプライベートリポジトリにアクセスするためには、SSHサポートが必須です。基本的に無料でプライベート(のみだけど)で、リポジトリサイズの制限がないVisual Studio Team ServicesはUnityに向いています。ゲームとかアセットめっちゃ多く、リポジトリ大きくなりがちですからね。では、早速やってみましょう。
VSTSのSSH clone URIを取得する
VSTSのリポジトリからclone用のURIを取得します。ここで注意するのは、httpsではなく、sshのURIを選択してください。
Unity Cloud Buildの準備
これは既にやられている方が多いはずなのですが、一応。
https://build.cloud.unity3d.com にアクセスしてプロジェクトを作ります。
サーバのURIをペーストします。必ずssh URIを指定してください。バージョン管理はGitのみです。
ビルド対象プラットフォームを選択します。
必要な設定をします。自動ビルドをONにしておけばGitにcommitしたタイミングでビルドがかかります。Freeプランなので、60分程度の待ちがあるそうですが、どうもそれじゃすまないような…いいですけど。あとFreeだと1GBまでなので、あまり大きなのはできないですね。
SSHの秘密鍵が表示されるので、ここを全部選択して、コピーします。
VSTSにSSH鍵を登録する
VSTSに秘密鍵を登録します。https://アカウント.visualstudio.com/_details/security/keys にアクセスして、鍵を登録します。
Descriptionには区別しやすい名前、Key DataにUnity Cloud Buildで作成された秘密鍵をペーストします。
SSH秘密鍵が登録されました。これでこのユーザー(私ですが)がアクセス可能なリポジトリにSSH経由でアクセスすることが可能になります。
で、commitするとこんな風に自動ビルドが行われます。これはすごくシンプルなやつですが44分(待ち時間込?)もかかってますね(^^;。
まとめ
SSHなので、もちろんMacやLinuxで作った秘密鍵を登録することも可能です。Git Credencial Managerとか使わなくてもVSTSにアクセスすることが可能になります。もちろんBash on Ubuntu on WindowsにSSH秘密鍵を登録しておけばWindows 10のBashからでも普通にアクセスできます。
いろいろ足りないところもあると思いますが、もしよかったらVSTSも使ってみてください。SSHサポートはTFS 2015 Update3にも入るとのことなので、将来的にはオンプレミスでも可能になるはずです。