このブログをご覧のみなさん、こんにちは。
ここ最近、Visual Studio Online(以下 VSO と記載) についてよく質問されるので、以下にまとめてみました。
ここに書いていないもので、コスパの質問もよくされるのですが、あまりにも生々しい話なのでここには記載していません。簡単に説明すると、VSO への質問ではなく算数の問題です。私の回答後、質問された方は全員コスパについての疑問は解消し、納得されていたことだけは記させていただきます。
Q. VSO は先日Cross Platform に完全対応したとありましたが、.NET 以外のビルドをさせると失敗してしまいます。
A. VSO にはデフォルトでビルドマシンが組まれています。 ビルドキューを登録する際にプルダウンに表示される
Hosted
がデフォルトのビルドマシンになります。 このビルドマシンはWindows
のため、Mac
がビルドに必要な Xcode や Linux 系の bash は実行できません。 Xcode のビルド定義にも “Build and test an Xcode workspace. This template requires a Mac OS build agent.”とあるように、Xcode のビルド定義に Mac OS のビルドエージェントを準備するようにと表示されています。Xcode のビルドエージェントのセットアップ手順は以下を参考にしてください。 [Visual Studio OnlineとXcodeを連携する方法 Xcode側準備編 #tfsug #xcode][3] この手順は他の言語のビルドエージェントのセットアップ手順にもなっています。
Q. ビルドした成果物を VSO にアップしたいです。
A. VSO にアップするにはビルドステップの
Publish Build Artifacts
を使えば実現できます。Copy Root
: [アップしたいファイルのRoot],Contents
: [アップしたいファイル,*
など正規表現が使用可能],Artifacts Name
:drop
,Artifact Type
:Server
を選択してください。 入力欄の右にある i マークにマウスを合わせるとより詳細な説明が表示されるので参考にしてください。
Q. Chef や Docker などの現時点でビルドステップに存在しないものを実行したいときはどうすればいいですか?
A.
Batch Script
を使えば実現できます。 ビルドマシンで実行するスクリプトを記述したファイルをこのビルドステップで実行してください。 実行するコマンドはビルドマシンに合わせる必要があります。Windows
に対してbash
やLinux系
に対してPowerShell
といったコマンドは実行できないので注意してください。