読者です 読者をやめる 読者になる 読者になる

kkamegawa's weblog

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

Visual Studio Team Services 2017/1/25の更新

ALM Git DevOps VSTSリリース VSTS VSO

少々遅くなりましたが、VSTSのリリースノートの翻訳を行いました。オリジナルはこちらから読んでください。

www.visualstudio.com

ようやくモバイルフレンドリーなビューが作られてきました。最初はWork Itemだけだそうで。メールにwork itemのリンクがあったら、モバイルデバイスで見るときとかは便利そうです。Projectページがまだモバイル対応してないので、そこが少し使いづらい。

ビルドエディタのver2が出ましたね。こちらに切り替えていますが、細かいところで良くなってますね。

Visual Studio 2017で作ったソリューションがビルドできなくて困っていたのですが、対応してもらえたので、助かります。RTM待つのかなと思っていたんですが、予想外に遅れたんですかね。

ではまた三週間後。

translate to Japanese to VSTS release notes from h …

BuriKaigi 2017 in Toyamaでぶりを食べ…しゃべってきました

ALM Azure Continuous Deployment Continuous Integration Docs DevOps ReleaseManagement VSTS VSO

toyama-eng.connpass.com

一度は行ってみたかったブリ会議 in Toyama、今回やっと念願かなって参加できました。いろいろなセッションがあり、ブリおいしかった…もとい、とても楽しかったです。

私の発表資料はこちら。かなりぎりぎりまで内容悩んでいたのですが、最後はちょっと前にあったウメハラ氏の講演がいいな、と思って、引用させていただきました。ブリだけに出世魚をということもあって、一日ひとつ強くなろう、に通じるものがあります。

はじめて北陸C#erによるドキドキライブコーディングを見たのですが、「小島さんずるい」というのがよくわかりました。もう勝つためなら何でもやるみたいな。なんで二人が作ったオセロ対戦の思考ルーチンでstackoverflow exceptionが起きるんだよw。

そして最初にばらばらで作った思考ロジックを結合するとコンパイルできないっていったい…。普通依存関係なんかないからコンパイルできないことなんてないのに。お互いの思考ロジックがお互いの思考ロジックに(なぜか)依存していたからコンパイルできなくなっているという…ひどい…私はピュアなので、そんなこと思いつかないよw。

C#のコーディング力を競うのではなく、「相手が何やろうとするか読みあう」という別のゲームになっていましたが、最後は石野さんが貫録のロジックで勝利していました。とても面白かったです。

また来年も開催されるようなら都合つけて参加したいものです。

Power BIの新しいVisual Studio Team Servicesコネクタを試す

Power BI VSTS VSO

powerbi.microsoft.com

Power BIの1月新機能で、新しいVSTSのコネクタがリリースされPower BI Desktopからアクセスできるようになりました。まだ超初期版で、特定の人しかアクセスできません。

Office 365の管理者などは無関係で、MS側で制御しています(具体的にはVSTS側のAPIエンドポイント側で制御しているようです)。まだほとんど何もできませんが、試してみましょう。

f:id:kkamegawa:20170123054419p:plain

コネクタにVisual Studio Team Services(ベータ)があるので、ここを選びます。

f:id:kkamegawa:20170123054420p:plain

アカウント(visualstudio.comの前の部分)とProject nameを指定します。Area pathはVSTS側に作っているArea pathが該当します。小さいプロジェクトであれば全部選んでも構わないでしょう。大きいチームになると、見たいものだけ選びましょう。

f:id:kkamegawa:20170123054421p:plain

まだデータセットが直近30日の作業項目と、今日の作業項目しかありません…残念ですね(^^;。今後増えていってほしいです。ビルドや品質レポート、チェックインしたコードの増加数など見たいところです。

オンプレミス版のTFSの場合、TFVCではコードチャーンといって、増加したコード量の増加数が見えるのですが、Gitでは見えないんですよね(確か)。

f:id:kkamegawa:20170123055552p:plain

で、こんな風にいい感じで編集して、PowerBI.comに発行します。発行先にデフォルトのワークスペースのほかにOffice 365で作っているチームのワークスペースを選ぶことができます。チーム単位で見たい場合とかいいですね。そうなると、コネクタもVSTSのArea pathだけじゃなくて、VSTSのチーム単位で選択できるようになるとより便利かなと思います。

f:id:kkamegawa:20170123054426p:plain

当然ですが、PowerBI.com側でも見えます。ここからVSTSのダッシュボードに貼り付けてもいいでしょう。

kkamegawa.hatenablog.jp

f:id:kkamegawa:20170123054422p:plain

まだプレビューだからかわかりませんが、アップロードしただけではデータセットの自動的な更新は行われません。データセットから更新スケジュールを設定します。

f:id:kkamegawa:20170123054423p:plain

一日一度から二度程度でいいんじゃないでしょうか。朝振り返りする前に更新、夕方ごろ更新とかそんな感じで。

f:id:kkamegawa:20170123054424p:plain

面白いのはCortanaにこのデータへのアクセスを許可できます。まだ検証できてないですが(ぼっちプロジェクトだし)、明示的にオプトインすればOffice 365のCortanaがいろいろ答えてくれるでしょう、たぶん。

f:id:kkamegawa:20170123054425p:plain

もう一つ、クイック分析情報というものがあります。メニューだと「詳細情報を表示」ですね。これを使うと、おすすめの分析を表示してくれます。これをそのままダッシュボードにピンで貼り付ければわざわざ作らなくてもいいですね。結構よさそうなものがそろっています。

はやくコネクタ更新されないかなー。

Surface Keyboardを買った

Microsoft Surface Book ハードウェア

シアトルで買ったSurface KeyboardをようやくThinkPad T440pにペアリングさせてみました。タッチ感はSurface Bookと同じかなと思っていたのですが、結構違いますね。Bookよりも個人的には好みかもしれません。

ただ、横幅が広いので、テンキー部分を使うか?というと、たぶん使わなさそう。この辺がBookのような高精度タッチパッドになっていればもっと違う使い道があったかもしれません。高精度タッチパッド持っているノートが少ないので、この辺キーボードと一体型になってほしいですね。

Surface キーボード

Surface キーボード

Surface マウス

Surface マウス

Visual Studio Team Services 2017/1/5の更新

ALM Continuous Deployment DevOps Git ReleaseManagement VSO VSTS VSTSリリース

お久しぶりのVSTSのリリースがありました。もう少し先だと思っていましたが、早かったですね。今回はSprint 110を飛ばして、111と一緒にリリースされているので、内容も盛りだくさんです。オリジナルはこちらから。

www.visualstudio.com

新しいプロジェクトページは情報が集約されて、とてもつかいやすくなったと思います。いつでも戻せるので(将来的にはこちらに移行するのでしょうが)、試してみてください。ほとんどの機能にお気に入りがついて、Favoritesでまとめて見えるようになったのは助かりますね。積極的につけていくといいでしょう。

一つだけ使いにくくなったかなと思うのは、Hosted Build/Load Testの使用時間がわからなくなることです。今まではアカウントホームページで見えていたのですが、プロジェクトページを有効にしてしまうと見えなくなるので、ちょっと困る。フィードバックはしています。

TFS 2010を最後に廃止されていたテスト影響分析(変更のあったテストのみ自動的に実施する)も戻ってきました。通常は全テストすればいいのですが、どうしても間に合わない時というものもあります。そういう時に便利かなと思います。

ではまた三週間後!

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

VSTS/TFSで長期間にわたる保守業務をタスク管理する

VSTS VSO Kanban

はじめに

VSTSやTFSで作業管理する場合、ちょっと悩ましいのが定期的に発生するような「長期間にわたる定常業務」をどうやって管理するか、という話があります。私も部門で入れようとして、この辺どうしようかなぁと試行錯誤しました。Epicを作るとかでもいいのですが、それも何か違う。

ある人から聞いた話では「1時間絵の練習をする」とか「チュートリアルをやる」などをタスクにしているそうです。具体的に「xxまで完成させる」ではなく、あくまでもタイムボックスでタスクにする。

こうすると、進捗のいかんではなく、やったかやってないかだけですが、比較的心理的に軽くなります。またバーンダウンもやればいい感じで出るので、モチベーションにもつながりますね。

具体例

  1. 計画されたタスクはFeatureやSprint backlogとして作る
  2. 計画されてないタスクをまとめるSprint backlogを作り、Sprint毎の日付で一つのタスクにする。完全に異なるタスクであれば、別のタスクにする

f:id:kkamegawa:20170112062257p:plain

doingとdoneに分割して、WIPを制限しています。

f:id:kkamegawa:20170112054814p:plain

定期的に発生するとわかっている作業はそれだけでバックログにします。このバックログはスプリント期間が終了すればcloseします。複数の担当者がそれぞれ定期的な作業を持っている場合は個人単位でバックログにすればいいでしょう。

このような保守業務のバックログはSwimlanesで分割してしまえば計画された作業と区別できるので便利です。

f:id:kkamegawa:20170112054815p:plain

バックログ内の作業は日単位でタスクにしてしまいます。あらかじめわかっているので、最初に全部作っておけばいいでしょう。ちゃんと時間を登録しておけば作業時間としても可視化できますね。

プロセステンプレートで対応する

f:id:kkamegawa:20170112062259p:plain

余裕があればプロセステンプレートを修正して、Taskに「保守作業」というフィールドを追加して、Booleanを設定します。

f:id:kkamegawa:20170112062300p:plain

こうすると、タスク画面に保守作業かどうかのフラグが表示されます。こういうフラグを用意しておけばクエリエディタで、残っている保守作業や、保守作業の作業量を集計することもできるので、便利です。

ここまでやりたくない、という場合、Taskのタグで「保守作業」とか設定しておけばいいでしょう。タグもクエリで検索できますので。ただし、みんなにいちいち作ってもらう運用だと絶対忘れるので、REST APIでスプリントの最初に作っておくとか、毎日バッチなどで自動的に作るといいですね。

関連拡張機能

marketplace.visualstudio.com

定期的な保守ではないですが、拡張機能のTeam Calendarでチーム内のイベントをカレンダー形式で管理できます。特定のイベントがあるとかの管理に便利そうですね。

Visual Studio Team Servicesで外部サービスを呼び出す(30日目 - 最終回)

ALM SonarQube GitHub VSO VSTS

はじめに

アドベントカレンダーの枠からはみ出して続けていたVSTSの機能全紹介もここでいったん区切りです(1/5の新機能が出ちゃったし)。VSTSは基本オールインワンですが、Web hookやREST APIを使って外部サービスを使用することもできます。

外部サービス呼び出しはチームプロジェクトごとの設定になります。

Azure Resource Manager Endpoint

やはり同じ会社のサービスということもあり、Azureはいろいろ優遇されています。

f:id:kkamegawa:20170104070633p:plain

今強化やデプロイは基本Azure Resource Managerのほうが多いので、こちらを選ぶと…

f:id:kkamegawa:20170104070634p:plain

こんな風に接続名とサブスクリプションを選ぶだけです。以前はMSアカウントでSPNを作る必要があり、はっきり言って、「これユーザーにやらせるのか」と思っていたのですが、便利になりました。

f:id:kkamegawa:20170104070635p:plain

Azure Classicで接続sるう場合…面倒ですね。通常はCertificate Basedを選んでAzureポータルから管理証明書をダウンロードするのですが面倒です。

GitHubへの接続

f:id:kkamegawa:20170104070636p:plain

GitHubでホストされているソースをVSTSでビルド、Release Managementで使用する場合に必要です。ここで設定しなくても、ビルドタスクの中でもできます。PATを使うか、ここでOAuthの認証をするか好きな方法が選択できます。どちらを使ってもGitHub側で無効にできます。

Jenkinsへの接続

f:id:kkamegawa:20170104070638p:plain

Jenkins連携も強化されてます。Jenkinsを選択すると、サーバURLとユーザー、パスワードを指定します。

SSHでの接続

f:id:kkamegawa:20170104070639p:plain

SSHを使用して特定のホストに接続します。LinuxのWebサーバなどへVSTSからデプロイする場合にこの接続を使います。

Subversion

f:id:kkamegawa:20170104070640p:plain

Git(Hub)同様に、外部ソースコードリポジトリにSubversionをサポートしています…一部のエンタープライズ向けにはいいんじゃないでしょうかね。

その他一般的な外部サービス

f:id:kkamegawa:20170104070637p:plain

サーバのURLとユーザー、PAT/パスワードで接続する外部サービスです。VSTSの拡張機能で提供されていないような外部サービス(Chatworkとかかな…)を使う場合使用します。

SonarQubeへの接続

Continuous Code Quality | SonarQube

最後は静的解析では有名なSonarQubeの紹介です。品質管理はSonarQubeに任せることにしたようで、最近強化が続けられています。有償版と無償版、さらにはLTSも提供されていますが、SonarQubeの強化と同期をとっているようなので、できればLTSではない、Currentを使ってください。ほぼ毎月のように更新されています。

つい先日公開された6.2でUIが結構変わってびっくりしています(6.0で変えなかったのに)。

f:id:kkamegawa:20170110063009p:plain

サービス一覧からSonarQubeを選択します。アクセスするユーザーでTokenを生成してください。Azureの仮想マシンで作る場合、AzureにSQL Serverを作ってもいいのですが、SQL Databaseもサポートされているので、SQL DatabaseにS0で作っています。遅くなったなと思ったら、SQL DatabaseをS1とかにすればいいでしょう。

f:id:kkamegawa:20170111055821p:plain

SonarQubeで解析する場合、ビルドタスクにPrepare the SonarQube analysisを追加します。注意点として、先日MSが提供するビルドタスクからSonarSourceが作ったビルドタスクに移行することになりました。

[DEPRECATED]がついているタスクは使わないでください。

f:id:kkamegawa:20170111055823p:plain

ビルドすると、こんな風に最後にDetailed SonarQube reportと表示されています。クリックすると、SonarQubeを呼び出して…

f:id:kkamegawa:20170111055822p:plain

こんな風にSonarQube側でプロジェクトが開かれます。

まとめ

VSTSの外部サービス連携は以前のService Hookと合わせて使えばいろいろ使えると思います。いいとこどりしてみてください。

ちょっと駆け足でしたが、VSTSの全機能を大体紹介したつもりです。Application Insightsとかも紹介したいなと思ったのですが…ほかにも漏れているところがあれば、また紹介します。では今年のアドベントカレンダーは…疲れたから別のやつにします(^^;。

実はもう一つだけネタがあったのですが、ちょっと間に合わなかったのでまた後で。