kkamegawa's weblog

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

Azure DevOps 2018/9/10の更新

Azure DevOps Sprint 140のリリースノートAzure DevOpsローンチリリースノート(Sprint 140は別でした)の翻訳を行いました。オリジナルはこちらから読んでください。

docs.microsoft.com

Sprint 140を記念してではないですが、今回のリリースではVisual Studio Team ServicesからAzure DevOpsへブランド変更が行われました。基本的に今まで使っていた方々には大きな影響はメール通知のフォーマットやfromアドレスが変わったことくらいでしょうか。

Sprint 140は今回の展開は数日中に行われるとのことなので、このエントリーを読んでいる方皆さんのアカウントにはすでに展開されているはずです。

OSS向けの公開レポジトリおよび、CI/CDパイプラインの無償枠がずいぶん強化されましたね。とはいえ、Microsoft Hosted-agentのストレージが10GBしかないので、あまりに大きいレポジトリのビルド&テストは難しいかもしれません。たとえば.NET Core CLRのforkレポジトリはビルドできる思いますが、Core FXは難しいかもしれません。

用語も少し難しかったので、統一されるのはいいことです。

GitHubのAzure Pipelinesアプリがなぜできたのかと思ったんですが、個人アカウントでのOAuthの認証だと退職した時とか確かに困りますね。なるほどという感じです。

ではまた三週間後。

Translate to Japanese to Azure DevOps release note ...

Visual Studio Team ServicesからAzure DevOpsへ

はじめに

Microsoftが提供するDevOpsツールはオンプレミスではTeam Foundation Server(TFS)、クラウドではVisual Studio Team Services(VSTS)という二本立てで提供されていました。これはこれでよかったのですが、どうしてもVisual Studioブランドが先に立ってしまい、Visual Studio以外からは使えない、もしくは.NETだけのものだと思われがちでした。実際私も会社やプライベートで何度となくそういう話を聞いたことがあります。

特にVSTSは最初Visual Studio Onlineという名前で始まったのですが(ちょうど7年前のことだそうです)、IDEのVisual Studioのオンライン版だと思われてしまうので、Team Servicesという名前に変更した経緯があります。

そこで今回二度目のブランドチェンジとしてVisual Studio Team ServicesからAzure DevOpsに変更されることになりました。以前からAzureとは強く連携していましたが、AWSのCodeシリーズ同様、MSのクラウドサービスの一部分であるという意味を押し出す形になります。個人的にはいいブランド変更だと思っています。欠点はVSTSのようなユニークな略称が難しいことでしょうか。TFSもそうだと思っていましたが、"TFS"でTwitterサーチするとちょっと辛い。

それはともかく、最初に書いた通り、"Visual Studio"ブランドが強すぎて、Python, Go, Ruby, node.js, JavaScriptなどにも対応していることがあまりにも知られすぎてないというのが現状でしたので、これで少し印象が変わるといいなと思います。

変更点に関しては公式ブログ公式サイトを見ていただくとして、いくつか日本語で補足。

名前について

クラウドサービスとしての総称はAzure DevOpsになります。オンプレミスのTFSに関しては次期メジャーバージョンの2019からAzure DevOps Serverという名前に変わり、Azure DevOpsベースの更新が行われます。

各機能の名称も変わります。

特に、Azure Pipelinesに関してはGitHubのCI/CD機能としても使えます。

URLについて

今まで account.visualstudio.com というURLでしたが、オプトインで dev.azure.com/account になります。ドキュメントのURLもAzure配下に移動します。 今後、新規で作るアカウントは azure.com 配下になります。

既存のURLは今後リダイレクトで維持されるそうです。

価格について

今までの無料プランではこんな感じでした。

  • 240分までのビルド
  • 無制限のビルド定義
  • 無制限のプライベートコードレポジトリ
  • 20000分のWeb負荷テスト(Jmeterのホスティングサービス)

これがこう変わります。

オープンソース向け

  • パブリックプロジェクトに関しては無制限のビルド時間(AppVeyorのOSSプランと思ってください)。最大10同時ビルド。
  • 無制限のビルド定義
  • 無制限のプライベートコードレポジトリ

GitHubユーザーに関してはAzure Pipelineというアプリを追加すると、この無料プランのCI/CDが追加されます。

github.com

小規模チーム向け(5人まで)

  • 最大1同時ビルド。1800分まで無償。一つだけ自分でプライベートエージェントを使用可能
  • 無制限のビルド定義
  • 容量は無制限のレポジトリ(パブリックも可能)
  • 無制限のステークホルダーライセンス(カンバンの編集だけできるユーザー)
  • Azure Artifactsを使用可能(6人目からは有料)
  • 20000分のロードテスト

それ以上の規模

  • 10ユーザーで月額3360円
  • 最大1同時ビルド。1800分まで無償。
  • 無制限のビルド定義
  • 容量は無制限のレポジトリ
  • Azure Artifact を使用可能
  • 無制限のステークホルダーライセンス(Azure Boardの編集/参照だけできるユーザー)
  • Visual Studioサブスクリプション(Enterprise)ユーザーはこのライセンスが含まれる

Azure Testに関しては従来通りMarketplaceで追加購入です。

価格に関してはこちらを見てください。

Azure DevOps Services | Microsoft Azure

この変更はSprint 140としてリリースされました。こちらは別途翻訳します。

既存ユーザーへの影響(追加)

5人以下で無償のプライベートGitとして使っている人たち

ビルドが240分から1800分になったことと、 {account}.visualstudio.com/_settings へアクセスして、オプトインでURL変更を許可しなければ、ほぼ変わりありません。

Visual Studioサブスクリプションユーザー

こちらもURLを変えられる、ビルドが1800分が無償枠になった、以外の変更はありません(そのはずです)。Visual Studio Pro Subscriptionの場合は小規模チーム向けのライセンスと同等になるはずで、Test Plans, Artifactsの対象外です。

Visual Studio Enterprise Subscriptionの人は全機能が使えます。

Global Azure Bootcamp 2018 @ Kansai 開催

Global Azure Bootcampを今年も開催できました。参加してくださった皆様、セッションを引き受けてくださった皆様、ソフトウェアのライセンスやランチを提供してくれたスポンサーの皆様、会場提供とセッションを引き受けてくださった日本マイクロソフト様ありがとうございました。

資料などはこちらに追加して行く予定です。

https://connpass.com/event/82263/

私のスライドは何故かSlideShareが受け付けてくれなかったので、SpeakerDeckにしました。

VSTSとAzure(Application Insights)使ったContinuous Monitouringのデモをするはずが、何故か関連するタスクが実行エラーになるということで、デモが中途半端に終わってしまい申し訳ありませんでした。

当日内容を変えるというのもなぁということで、突っ切ったのですが、うーん。今聞いているので、なんらかの返事があったらフォローアップします。

次のイベント早くても6月以降ですけど、夜と土曜日とどっちがいいですかね?

ではでは。

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使えば、例外発生時に自動的に登録するってこともできるんじゃないかと思っています。