kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Visual Studio Team Services(VSTS)の新しいナビゲーションUI変更

UI変更

VSTSのUIは建て増しを続けていたこともあって、非常にわかりづらいものになっていました。特に管理系の機能を呼び出すUIに関してはしばしば「どこにあったっけ?」と思う始末でした。

ほかにも各機能へのナビゲーションが少しやりづらかった。

そこで、昨年からFluentデザインを取り込んだUIの刷新に取り組んでいたようです。こちらでどんな違いがあるのか紹介されています。

New Navigation for Visual Studio Team Services – Microsoft DevOps Blog

前のUIよりは今どきなって使いやすくなっているんじゃないかなと思います。試してみてください。

変更方法

f:id:kkamegawa:20180620055246p:plain

有効にするにはPreview Featuresから"New Navigation"をONにしてください。New Navigationを有効にすると、自動的にいくつかの新機能も有効になります。

トップページ

f:id:kkamegawa:20180620055247p:plain

トップページがこんな感じでフラットになります。新規プロジェクトを作るときは + からさくっと(作成時のUIは変わらないようです)。

チームプロジェクト

f:id:kkamegawa:20180620055244p:plain

チームプロジェクトを開いたところ。プロジェクトのトップページは変わりません。あくまでもナビゲーションUIの見た目だけ変わってるようです。

VSTSのロゴをクリックすればいつでもトップページに戻れます。

f:id:kkamegawa:20180620055245p:plain

Work Itemもこんな風に新しいUIの中に統合されます。

f:id:kkamegawa:20180620055243p:plain

アカウント設定だけはなぜか昔から日本語になってますw。

疑問点

いくつか疑問があると思います。知ってることで言えば。

APIのエンドポイント変わるの?

変わらないはずです。

タブとかハブに組み込む拡張機能どうなるの?

動きます。言ってみれば今まで画面上部にあったUIの場所と見た目が変わっただけなので、従来のタブやハブに組み込むSDKに影響はないはずです。

TFSにも適用されるの?

TFS 2019(時期未定)にも入るそうです。

クライアント Dev Day関西とInsider Dev Tour Tokyoを開催

connpass.com

insiderdevtour.com

土曜日に大阪でクライアント Dev Day、日曜にInsider Dev Tourを東京で実施いたしました。参加していただいたみなさん、スタッフの皆さん、スピーカの皆さん、ありがとうございました。

最初は大阪でもやるつもりだったのですが、諸般の事情で中止になってしまったので、その代わりといってはなんですが、Windows 10クライアント向けの自主イベントに振り替えさせていただきました。少々少人数でしたが、いろいろ聞けて非常に勉強になりました。

日曜のInsider Dev Tour東京は二日前くらいに参加人数がぐっと増えて、しかもいままでこのような開発向けイベントに参加されてないと思われる方がたくさんお見えになったようで非常にびっくりしました*1

実は最初に英語でもお誘いのメールを出していた*2のですが、やはり直前の日本語でのメールは効果が大きかったようです。

Q&Aコーナーでもたくさん(答えにくい)質問をいただきました。やっぱり将来のロードマップは気になるところですが、本社の社員であっても知らないことは多いので、「ごめんなさい」的な回答しかできなくて申し訳なかったです。

セッションスライドやキーノートは公開されないのか、というお問い合わせもあったようですが、我々が著作権を持っていないので、一存では公開ができません。

代わりに、今回のセッションに関するラボで一式そろっていますので、ぜひ興味のあるものを試してみてください。

*1:個人のダメFace APIによる検出なので、間違っているかもしれません

*2:ローカル開催スタッフはこの手のメールの配信に関与していないのです

iPad Pro 10.5インチを買った

三年ほどiPad mini3 64GBモデルを使っていたのですが、Kindleの本が多くなりすぎて残り500MBという攻防が続いていて疲れたので、買うことにしました。

iPadとiPad Proで悩んだのですが、やっぱり決め手はいくつかあって。

  • 256GBストレージ
  • Apple SIM内蔵(まぁ弱いけど)
  • 4スピーカー
  • 液晶快適

売り文句のスペックにまんまと乗ってます…。買ってみて気づいたのですが、やっぱり3年ほどの進歩はすごいですね。今までMVNOの回線が遅いから読めないと思っていたオンデマンド(事前ダウンロードできない)マンガアプリの画面表示がすごく早くなってます。コンテンツの暗号化(難読化)行われているはずで、今までのiPad mini3だとコンテンツ復号にCPU使いすぎてたんですかね。

画面もぬるぬるでKindleのページめくりもめちゃくちゃスムースです。うーん、これは買ってよかったなぁ。いつも通りフィルムも貼ったんですが、今回は気が向いてグレアのものにしてしまいました。明るい液晶をそのまま使うかな、と。電源がオフになっている状態では自分の顔が映りこみますが、Kindleとかアプリ開いている状態では特に気にならないので、これはこのままでいいかな。

Apple SIM使いたいので、セルラーモデル買いました。これで次シアトルいく時、いちいち物理SIMに差し替えなくてもいいから楽になりそうです。

VSTSやTFSをより便利に使う拡張機能

はじめに

marketplace.visualstudio.com

Visual Studio Team Services(VSTS)および、Team Foundation Server(TFS)を便利に使うための拡張機能が公開されています。大部分の拡張機能は無料で使えます。ただし、拡張機能が呼び出すサービスが有償になっているものがあるので、気を付けてください。サーバーを使うようなものは有償が多いですね。

marketplace.visualstudio.com

このTeams統合のように「Get Stated」としか書かれてない拡張機能は、クリックすると使い方のページへリンクがあるだけで、特にインストールすることなく使えます。同様の拡張機能にSlack, Office 365 Integrationがあります。

昔はユーザー拡張機能しかなかったけど、今はVSTS自身が提供しているというものも少なくありません。例えばKubernetesタスクは牛尾さんが作られたものが長く利用されていましたが、最近VSTS公式からも提供されています。

docs.microsoft.com

marketplace.visualstudio.com

標準のタスクはオープンソースになっているはずです。

github.com

どっちがいいか見比べるのはなかなか難しいと思いますが、便利なものを使ってください。

私のアカウントにもいくつか入れていますが、便利そうなものをピックアップして紹介します。もちろん私が見てないだけのものもあるので、よさそうなものがあったら、ぜひ教えてください。

コード系

marketplace.visualstudio.com

コード検索機能を提供します。TFSはErastic Searchを使っているので、VSTSもおそらくそうだろうと思います。

ビルド とリリース

Package Management(有償)

marketplace.visualstudio.com

6人以上が使う場合は有償になります。

npm, maven, nugetのプライベートフィードをサポートします。開発(スプリント)期間中は特定のパッケージで固定したいという要望はよくあります。オリジナルソースでlatestをとってくると開発者が自動的に更新してしまうということが防げます。もちろん外部に公開できないパッケージを管理するときにも便利です。

Replace Tokens

marketplace.visualstudio.com

ビルド時にソースコードの特定の場所を書き換えたいという要望はたまにあります。例えば、ソース中にGitのコミットハッシュを埋め込んでおいて、改ざんやバージョン検知に使います。そんな希望をかなえてくれる拡張機能です。

SonarQube

marketplace.visualstudio.com

ソース実行時に静的解析したい場合、別のSonarQubeサーバーを呼び出して、ビルド結果に表示できるようになります。

marketplace.visualstudio.com

自分でSonarQubeサーバーを動かしたくない人向けにSonarCloudというものもあります。拡張機能は無償ですが、SonarCloudは有償です。

ストアへリリース

Apple, Google, Microsoftの各ストアへアプリをリリースする拡張機能も用意されています。

marketplace.visualstudio.com

marketplace.visualstudio.com

marketplace.visualstudio.com

marketplace.visualstudio.com

ストアじゃないけど、PowerShell Garallyへの発行をサポートします。

LaunchDarkly

marketplace.visualstudio.com

Feature Flagをサポートする拡張機能です。拡張機能自身は無償ですが、サービスは有償です。

Pester unittest build task

marketplace.visualstudio.com

PowerShellのUnit Testを実行するPasterをビルド時に呼び出します。テスト結果はVSTSが解釈できるXML形式になっているので、ビルド結果概要にも表示されます。

SQL Serverデプロイ

marketplace.visualstudio.com

Visual Studio Enterpriseに含まれるReadyRollをサポートする拡張機能です。データベースの変更点、デプロイスクリプトがビルド結果概要に表示されます。

Apache Tomcat

marketplace.visualstudio.com

Tomcatも対応してます。私自身はTomcatへのデプロイは使ったことないですが、更新されているようなので、大丈夫でしょう、たぶん。

GitHub Tool

marketplace.visualstudio.com

GitHubへのリリースするときはこれが強力だと思います。

IncrediBuild

marketplace.visualstudio.com

VSTSのビルドの弱点の一つはやや非力(Azure VMでいえば、Standard D2s v3レベル)なことです。ビルドのパイプラインを分割することはできますが、重いビルドタスクは早くなりません。

そんな時IncrediBuildを使えば、重いソリューションファイルのビルドを複数のマシンで並列実行できるようになります。IncrediBuildそのものは有償なので気を付けてください。

VSTSで使ったことはないのですが、おそらくプライベートエージェントじゃないと使えないだろうとは思います。

VSTS Chromium Build Task

marketplace.visualstudio.com

Chromeがヘッドレス化したので、UIテストとか非常にやりやすくなりました。ただ、Chromeのポータブル版というのはまだなかったはずで、インストールが必要になるのがネックでした。

このタスクはオープンソース版のChromiumを使って自動テストするためのものだそうです。

Post Build Cleanup

marketplace.visualstudio.com

VSTSが提供するビルド環境は実行時きれいにされているはずですが、そうはいっても残したくない、という事情はあると思います。

TFSでも同じでこちらは明示的にきれいにされるタイミングがビルドを実行した後、(確か)過去5回分はディスク上に残っています。機微情報がディスクにあると困る、という場合はこれを使ってください。

ただ、消してしまうと、ビルド後のトラブル調査がやりにくくなるので、conditional taskでデバッグ実行時はこのタスクを実行しないなどの工夫が必要になります。

StyleCop Runner Build Task

marketplace.visualstudio.com

ソースコードの書式が期待通りになっているか確認するStyleCopを呼び出します。masterブランチへのCIビルドではなく、ブランチポリシーなどで実行するのがいいでしょう。

Ansible

marketplace.visualstudio.com

Ansibleを使うための拡張機能です。現在Windowsサーバーは管理できないので、Linux用ですね。WindowsではDeployment Groupsがあるので、そちらで、という感じでしょうか。

コラボレーション系

Contributions Graph

marketplace.visualstudio.com

GitHubにある、草(Activity Graphが緑色だから)がVSTSにもほしい、という話はよく聞きます。そんな願いをかなえる拡張機能です。

VSTS CLI

marketplace.visualstudio.com

TFS/VSTSのコマンドラインツールです。Visual Studioに組み込まれているtf.exeコマンドはWindows専用なので、クロスプラットフォーム向けには今後こちらが押されていくと思います。

全部の操作ができるわけではない(APIも非公開のものが多い)ですが、tf.exeとちがって、引数の補完機能もあるので、こちらが便利ですね。

オープンソースなので、バグや貢献はGitHubでどうぞ。

他サービスとの連携

Microsoft Flow

marketplace.visualstudio.com

VSTSのイベントによってFlowを使って他サービスとの連携をします。便利だとは思うのですが、VSTSのAPIがどうもそれっぽくないというか、もう一つかませないと使いづらいかもしれません。

Project Integration

marketplace.visualstudio.com

TFSやVSTSはMS Project Serverとの連携をサポートしなくなりました。代わりにこの拡張機能を使ってください、ということだそうです。

BitBucket, Jenkins, GitHubとの連携

docs.microsoft.com

GitHub, Jenkinsはソース取得元、リリース用のartifact、BitBucketはソース取得元として使用できるようになりましたので、拡張機能はいりません。

計画系

Delivery Plans

marketplace.visualstudio.com

複数のチームがある場合、「隣のチームがいつ何をリリースするのか」という情報共有は大変になります。Delivery Planはそういう複数のチームのスプリントを可視化してくれます。

複数のチームがあるような環境ではとても便利です。

Analytics(現在プレビューのため無償)

marketplace.visualstudio.com

バーンアップ、バーンダウン、ベロシティなどの各種ウィジェット、OData Endpoint、Power BIとの統合といった機能を提供します。

Power BIに関しては今のところ作業項目だけのようです。

Test系

Test & Feedback

marketplace.visualstudio.com

これはTFS/VSTSではなく、ブラウザーにインストールする拡張機能です。VSTS/TFSでチーム開発しているWebサイトのここがおかしいようなところがあったら、すぐに開発チームにフィードバックとして登録できます。

開発チームはフィードバックが全部終わったら、みたいなリリースゲートをリリースに仕掛けておけば「フィードバック全部終わったかな」ということをいちいち確認する必要はありません。

Edge用の拡張機能はcoming soonのままもう2年くらいたっている気がするんですが…。

VSTS/TFSを使ってなくても、画面キャプチャ機能としても使えます。以前書いたのでこちらを読んでください。

kkamegawa.hatenablog.jp

kkamegawa.hatenablog.jp

Test Manager(有償)

marketplace.visualstudio.com

これはVisual Studio Enterprise/Testサブスクリプションか、月ぎめのサブスクリプションがないと使えませんが、テスト管理には便利です。

スプリント単位でのテストを管理して、どのくらい消化したか、ブラウザーでテストステップを見ながら実行して、どこでどういう失敗したのかということがわかります。

また、環境ごとのテストケース管理もできるので、例えば、Windows 10のEdge / Firefox / Chromeといったブラウザーごとにテストの管理もできます。自動テストもサポートしていますが、それはおいおい紹介します。

Offline Test Execution

marketplace.visualstudio.com

いつでもVSTSにつながればいいのですが、そうもいかない環境もあります。そんな時にテストケースだけでもみたい、という場合、この拡張機能を使えばTest Managerで管理しているテストケースをExcelに出力して、テスト実行後またインポートすればVSTS側にも反映されます。

Code Coverage Widget

marketplace.visualstudio.com

すぐにわかりますよね。ビルド定義のコードカバレッジの状態をウィジェットでダッシュボードに表示するものです。

その他

Contribution Guid

marketplace.visualstudio.com

サードパーティーのVSTS拡張機能を使うとき、いくつかのVSTSのアカウントに関する情報を入れることがあるかもしれません。そういう情報を簡単に表示するための拡張機能です。

docs.microsoft.com

実際どんな情報が表示されるか、という点に関してはこちらに載っています。

AWS Tools

marketplace.visualstudio.com

AWSを使う方はどうぞ。

Shell exec task without file

(追記)
marketplace.visualstudio.com

忘れてた。Linux/macOS限定ですが、これも便利です。Windowsのコマンドプロンプトからのインラインタスクはバッチファイルを用意することなく複数行の処理がかけるので、ちょっとした処理でもバッチファイルをレポジトリに登録する必要がありませんでしたが、bash shellタスクではワンライナーしかできませんでした。牛尾さんが作られたこのタスクはその助けになります。

ちなみにPowerShellタスクもあるのですが、こちらはインラインでは確か500byteくらいまでです。どうしても長いタスクを書きたくて、製品グループにはたびたび要望が出るのですが拒否されます。私も要望出したことがあります…。

docs.microsoft.com