ちょっとビルドタスクとして作ってみたい処理があったので、ビルドタスクの作成方法について調べてみたら、結構ハマったのでまとめてみました。
☆環境
〇Windows 10 Creator Update
〇Visual Studio Code:1.14.2
ターミナルをPowerShellにしています。
〇nodist:0.8.8
・node:8.2.1/6.10.2
開発環境としては現時点での最新版である8.2.1を使用します。6.10.2が必要な理由は後述します。
nodistだと簡単に切り替えれるので楽ですね。
・npm:4.0.5
〇TypeScript:2.4.2
〇Team Foundation Server 2017 Update 2
タスク作成はVisual Studio Team Services用でも同じですが、作成した拡張機能の展開手順が異なります。
〇TFSビルドエージェントはMac(sierra)を使用しています。
・vstsAgent:2.119.1
・Homebrew:1.0.9/Node:8.2.1/npm:5.3.0
☆全体概要
基本的には、vsts-task-libのドキュメントで「Step by Step: Node Task with Typescript API」(https://github.com/Microsoft/vsts-task-lib/blob/master/node/docs/stepbystep.md)にありますが、現時点ではこれだけだと情報が足りないので、Microsoftの別ドキュメント「Add a build task」(https://www.visualstudio.com/ja-jp/docs/integrate/extensions/develop/add-build-task)の情報を参考にしつつ、いろいろミックスしています。
大まかには
・いろいろなjsonファイルに各種情報(タスク名称など)を設定する
・TypeScriptで実現したい処理を実装する(今回はHello world+α)
・Visual Studio拡張機能インストーラー(.vsix)を作成し、TFSにインストールする
・ビルド定義で作成したタスクを使用する
という内容です。
ちょっと長いので、続きは次に。