kkamegawa's weblog

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

Visual Studio Team Services 2018/4/3の更新

Visual Studio Team Services Sprint 132(2018/4/3更新)のリリースノートの翻訳を行いました。オリジナルはこちらから読んでください。

docs.microsoft.com

今回はいくつか目玉となるような更新がありますね。Golangツールインストールのサポート、GitレポジトリにあるMarkdownをWikiへ転載、リリースゲートにタスク拡張機能を指定できるようになった、といったところが目玉でしょうか。

特にWikiは今MSのドキュメント(docs.microsoft.com)でやっているような、github.ioのような感じですかね。Wikiをリモートレポジトリすることで、コミット時に自動的に反映、ブランチによってバージョンを変更するといった機能もうれしいところです。

pull requestのdescriptionにコミットメッセージから拾えるようになるのもいいですね。私のアカウントには来ていたので、さっそく使ってみました。

ではまた三週間後。

Translate to Japanese to VSTS release notes from h ...

Application Insights とVSTSの作業項目を連携させる

前からやりたいと思っていたことの1つが、Webサイトに問題があったときにVSTSに作業項目を登録するということでした。拡張機能とかWebhookでできるかな、と思っていましたが、いつの間にか標準でできるようになっていましたので紹介します。

f:id:kkamegawa:20180408060244p:plain

Application Insightsの「作業アイテム」を選択します。Visual Studio Team ServicesとGitHubが選択できます。

  • URL : 連携するVSTSのURLを指定します。
  • プロジェクトコレクション : VSTSの場合は一つしかないので指定する必要はありません。
  • プロジェクト : プロジェクト名を指定します。
  • 承認 : VSTSとOAuthで連携させます。
  • 区分 : VSTSのAreaに登録している区分を指定します。配下は\で区切ります。

f:id:kkamegawa:20180408060245p:plain

承認するとOAuthのいつものウィンドウが表示されるので、承諾をクリックします。これはVSTS側でいつでも取り消せます。

f:id:kkamegawa:20180408060246p:plain

担当者をとりあえず私に指定しいます。OKを押すと検証が実行され、問題なければ連携完了です。失敗する場合、プロジェクト名や区分名が間違っていないか確認してください。区分やプロジェクト名は大文字小文字を区別しないようです。

実際にどうやるのかやってみましょう。

f:id:kkamegawa:20180408060243p:plain

Application Insightsのブレードに検索があります。ちょうど都合よく例外が起きているリクエストがあったので、クリックして表示します。

f:id:kkamegawa:20180408060240p:plain

例外が起きてますね。普通のタスクツールであればこんな手順になるでしょうか。

  1. タスク管理ツールにタスクを作成
  2. 例外コード、時間などの発生条件をコピペ
  3. 登録すると通知される、もしくはメールやチャットで連絡

f:id:kkamegawa:20180408060243p:plain

何らかのエラーがあったらSlackに障害通知をしている例も多いと思います。このApplication Insightsでの連携を実施していると、「作業項目の作成」をクリックするだけでVSTS側にタスクがバグとして登録されます。

f:id:kkamegawa:20180408060241p:plain

担当者に指定した人の作業項目クエリーに例外が発生したという作業が登録されています。これは実際振り分けるためのエスカレーションを実施する人を登録しておいて、そのあとで誰か実際に作業する人に振り分けるというのもありです。

f:id:kkamegawa:20180408060242p:plain

作業項目を開いてみると、Application Insightsにあった例外コードがそのままコピペされています。VSTS以外にもGitHubのissueに対しても登録ができますので、どちらかを使っている人はApplication Insightsの作業項目の作成機能を使ってみてください。

たぶんApplication InsightsのWebhook使えば、例外発生時に自動的に登録するってこともできるんじゃないかと思っています。

VSTSのビルドタスクは定期的に面倒見よう

ちょっとあまり更新していないのですが、コミュニティサイトのビルドとデプロイをVSTSでやっていたわけですよ。で、サイトそのものを更新してない(技術的には.NET 2.0初期レベル)ので、VSTSに移行して、最初にデプロイしてからまったく更新していませんでした。

今回、ちょっと事情で二年ぶりにサイト移行しなくてはならなくなって、ビルド定義をcloneしたところ…エラーでまくり(笑)。

f:id:kkamegawa:20180402214434p:plain

上が新しいサイトにデプロイするためのビルド定義、下が二年少し前にビルド(とデプロイ)した時のビルド定義です。この時はまだリリース機能がなかったので、ビルド定義内でデプロイも書いています。

赤棒グラフが山盛り出ていることからわかる通り、再度デプロイできるようにするまでに結構時間がかかりました。

f:id:kkamegawa:20180402214436p:plain

2年前のビルド&デプロイのためのビルド定義がこちら。簡単ですね。VSでビルドして、テスト実行してそのままAzure Web Appにデプロイしています。しかもこのタスク、非推奨になってますw。動かしていないのがよくわかりますね。

f:id:kkamegawa:20180402214435p:plain

で、こちらがどうにかこうにかビルドできるようにしたビルド定義。非推奨タスクを残しているのは、ちょっと比較のためです。

  • NuGetリストアをVS内での実行が非推奨になったので、タスク追加
  • SonarQubeで静的解析するようにした(これは別の仮想マシンを使ってます)
  • テストが謎の失敗するようになったので、タスクを一時無効化
  • Azureデプロイタスクを結局やめ(リリース機能にします)。
  • artifactsをちゃんと保存するように
  • まだないですが、SQL Databaseのdacpacもデプロイ追加
  • copy & publishタスクがなくなったので、artifactsをstagingにコピーするタスクを追加

いや、当時はぎりぎりのスケジュールで(ってそれは今もなんですが)移行していたので、ほんとに適当にやっていたのですが、今見ると雑に作った&2年たつと変わったなぁ、と思わされます。ちなみにソースは一切変えていません。

クラウドサービスは本当に日進月歩なので、この手の機能はリリースしないまでも定期的にビルドなりしてパイプラインがちゃんと動くかどうか確認したいところです。

皆様も放置したビルドパイプラインありませんか?

Dell アンバサダープログラムのNew XPS 13がやってきた

はじめに

#このエントリーはDellアンバサダープログラムから提供された機材を使用しています。

dell-ambassador.com

DELLさんのアンバサダープログラムでNew XPS 13を一か月かしてくれるということで申し込んだら、あたってしまいました(^^)。期間は一か月(そののち返却)ということですが、割と好き勝手にできるし、DELLの最新鋭の機材を集中して触る機会なんてないので、ありがたく使わせてもらいます。

スペック比較など

私はSurface Book(初代)のCore i5/8GB RAMモデルを使っています。並べて撮った写真。

f:id:kkamegawa:20180325190323j:plain

Surface Bookは13インチ程度ですが、New XPSは超狭額縁ということもあって、かなり小さく感じます。さらに、Surface Bookはバッテリーをキーボード部分に持っていることもあって、結構大きいです。

重さもXPSは1.21kg、Bookは1.5kgとあまり違わないようで、かなり違います。大きさは小さいけど、キーボードピッチは十分あるので、あまり変わらない感じですね。もちろん日本語キーボードなので、普段が英語キーボードの私はかなり戸惑うのですが。

第八世代のCore i7プロセッサーなので、4コア8スレッドはいいですね。PhotoShipとか早くてよさそう。

4Kモニタ16GB/512GBストレージモデルが提供されているのですが、同じスペック買おうと思っても買えないですよね?(オンラインショップ)そういうのを貸してもらえるのはうれしいのですが、いざ買おうと思っても、買えないのは困ります。

(追記)
Twitterで買えるはず、と教えてもらいました。BTO直接だとわかりにくかったですが、最初にノートのトップページでスペック絞るところから始めると確かに買えます。ただ、うちにきている黒筐体はないようで、ローズゴールドしか出てきませんでした。黒がいいんだけどなー。

モニター

4Kモニタータッチモデルが来たのですが、さすがにきれいです。Bookもきれいだと思っていたけど、2年の進歩はすごいですね。小さい13インチなので、初期状態の画面拡大率は300%でした。これは大きいので、200%にしたのですが、200%だとすこーし小さいかなぁ。

Windowsセットアップ

新しいアカウントを作ってみました。

f:id:kkamegawa:20180325191946j:plain

New XPS 13は顔認証と指紋認証が使えるようですが、今回は顔認証を選んでみました。いろいろ言われている通り、キーボードとの接合部分にカメラがあるので、下から見上げられる感じでちょっと違和感がありますね。でも、認証に支障はないようで、Bookと同程度に高速にHelloで認証が行われます。

どうせならActive Directoryに入れようと思ったのですが、残念ながらHomeエディションだったので、無理でした(残念)。Hyper-Vも使えないので、16GBがちょっともったいないですね。

そのほかOffice 365, Visual Studioなどを入れているところですが、内蔵のKiller Wirelessアダプターがちょっと調子良くないのか、全然スピードでない…。これはIntelのWirelessアダプターがいいなぁ。選べるときは必ずIntelにしています。

USB-C

USB-Cが3つ端子として用意されていて、充電も使うので、事実上2つのみですね。とはいえ、右からも左からも充電できるのはストレスがなくていいですね。充電以外にも一本何かついていたようですが、とりあえず使わない予定。一度セッションやる予定があるのですが、さすがにそのためにUSB-CとHDMI変換ケーブル買うのはなぁ。

macもそうだけど、USB-Cにするとこの辺の再購入が大変です。

わからない現象

タッチパッドは高精度なものなので、ちゃんとスワイプでアプリやデスクトップを切り替えられるのは大変いいです。が、まだBookに勝てないなぁ。インストール中しばしば全く反応しなくなることがあって、往生しました。

一度スリープさせると復帰したけど、UACの暗転状態で何もキーが効かなくなって、ほんとに焦りました。この辺はまだ成熟していないんでしょうか。ファーム更新もあったようだけど。

(追記)
その後、インストール中にタッチパッド操作してみたのですが、やはり負荷がかかるようなシーンではタッチパッドがついてこなくなります。この辺はThinkPadやSurface Bookに遠く及んでいません。改良に期待します。

左/右クリックも位置が決まっているようで、ちょいちょいストレスです。Bookの場合、大体左にあれば左クリック(Macbook Proも同じ)でそれが染みついているので、つらい。

総合的なまとめ

WiFiがちょっと遅いように見えるのと、上に書いた謎の現象が出なくなるのであれば、いいマシンだと思います。

軽いし、dGPUが必要ない方であれば、ファーストチョイスとして充分お勧めできると思います(ローズゴールド以外の16GB/512GBストレージが買えるのであれば)。対抗するのはThinkPad X1 CarbonかT480sでしょうかね。