VSTS向けSnykタスクの開発:Jesse Houwing氏にインタビュー
Tim Kadlec
2016年12月21日
0 分で読めますJesse Houwing氏 は Xpiritのリードコンサルタントです。最近、 Visual Studio Team Services(VSTS)タスク を公開し、SnykをVSTSのワークフローに簡単に組み込めるようにしました。彼がこのタスクを開発したのは素晴らしいことです。そこで、タスクの詳細や開発の経緯について話を聞きました。
Snykを使い始めたきっかけは何ですか?
Visual Studio Team ServicesやTeam Foundation Server(TFS)向けに、TypeScriptとNodeを使ってビルドタスクを開発していましたが、依存しているモジュールはさまざまな理由から頻繁に変更されます。どの更新を優先すべきか判断するのは大変でした。こうしたタスクは余暇に開発しています。Snykを使うと、重要で対応が必要な依存関係の更新を検出できます。ビルド中だけでなく、タスクをVisual Studio Marketplaceに公開した後も、特に役立ちます。
なぜVSTS向けのタスクを開発したのですか?
拡張機能の開発には、Visual StudioのTypeScriptプロジェクトを使っていました。npmコマンドの実行には対応していましたが、ビルドプロセスをpackage.jsonに記述するのは、普段のワークフローではありませんでした。ビルドで使うnpmの手順は、たいていnpm installだけです。さらに、SnykのAPIトークンをVSTSに一元管理し、ビルドワークフローに渡したいと考えていました。当時のVSTSでは、ビルド変数やリリース変数をグローバルに定義できませんでしたが、タスクからはService Endpointを使ってトークンやシークレットにアクセスできます。

Snyk VSTSタスクは、VSTS環境内で簡単に設定できます。
タスクを開発したときの流れを教えてください。
しばらくプラグインなしでSnykを使っていましたが、シアトルで開催されたMVP Summitで、Sam Guckenheimer氏が、さまざまな興味深いセキュリティ製品の中の一つとしてSnykを紹介していました。多くの製品は有名企業のもので、最近Marketplaceにタスクを提供していましたが、Snykにはまだありませんでした。アムステルダムまで約10時間かかる帰りの飛行機で、ノートパソコンを開いてコーディングを始めました。手元のTFS 2017インスタンスでデバッグしながら、基本的な機能を備えた骨組みをかなり形にできました。開発中にWindowsとの互換性の問題がいくつか見つかりましたが、後で回避策を見つけました。Snykに連絡して残っていた問題をいくつか解決し、プレビュー版を公開できました。
今、実際にこのインテグレーションを使っていますか?
現在、Snykは私のVSTS Variable Tasks、MsBuild Helper Task、VSTS Snyk Task、およびMicrosoftのVSTS Extension Build and Release tasks(私もメンテナンスに携わっています)を保護しています。他の拡張機能開発者も使い始めています。また、Visual Studio ALM Rangersと協力して、オープンソースのVisual Studio Team Services拡張機能をSnykで保護できるか検討しています。
このタスクを試したい人は、どこで入手できますか?
タスクはVSTS Marketplaceから直接インストールできます。Marketplaceからタスクをインストールし、ビルドに追加して、チェックボックスをいくつか選ぶだけで使えます。

Marketplaceからタスクをインストールすれば、ボタンをクリックするだけでビルドに追加できます。
貢献したい方は、ソースコードもGitHubで公開されています。
CTFを始めよう
オンデマンドのバーチャル入門ワークショップを視聴して、CTFの課題の解き方を学びましょう。

