kkamegawa's weblog

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

Azure DevOps 2019/12/16の更新

新年一発目の更新が昨年最後にリリースされて、翻訳昨年内にやるつもりだったんですが、遅れて年越しになりました。本年もよろしくお願いいたします。オリジナルはこちらから読んでください。

docs.microsoft.com

今回も小幅ですが、YAMLパイプラインでextendsキーワードによるテンプレート拡張、EnvironmentsでのVMへのデプロイのサポート(てっきりWeb Appsのほうが先だと思っていましたが…)、YAMLパイプラインでのステージのスキップなどがいいですね。

YAMLパイプラインでのステージのスキップに関しては注意事項もあるように成果物の依存関係がある場合、むやみにスキップするとデプロイが失敗することになるので気を付けてください。そういう成果物の依存関係までは解決してくれません。将来的には依存関係を指定できるようになるといいですね。

スプリントバーンダウンサムネイルが帰ってきたのもうれしいです。チームに紐づかない、プロジェクト単位のダッシュボードも大変助かります。

ではまた三週間(というか、そろそろSprint 163出そうだけど)後。

Translate to Japanese to Azure DevOps release note ...

2019年振り返り

今年はプライベートの方でいろいろやっていたのですが、表に出せない話なので、コミュニティ関係の方との整合取るのが大変でした。

コミュニティ関係

de:code 2019でチョークトーク、Ignite The Tour Tokyo 2019で初めて45分のフルセッションさせてもらったのはいい経験でした。チョークトークはセッション資料とか用意する必要はなかったのですが、Ignite The Tourの方ではもちろん用意する必要があるので、結構悩みながら作っていました。レビューに協力していただいた方にはこの場を借りて御礼申し上げます。

Ignite The Tourのアンケートですが、ロジスティクス周りが悪いのはいつものことですが、セッション内容は皆さんの役に立ったようでほっとしました。まだ公開されてないんですよねぇ…この辺の話してくれる人いないので、「とりあえずこれみておけばいいよ」みたいな感じで紹介できるといいんですけど。

主催はいつも通りというか、Global Azure Bootcamp, Azure DevOps Launch, .NET Conf, Insider Dev Tourなどでした。大阪は二回ともInsider Dev tourを見送っているのですが、来年もこの状態でできるならやってもいいかなぁとは思っています。運営側まじ大変なんですけど‥。今年も裏方の交渉取りまとめだった大和屋さんのおかげでほんとに助かりました。もちろん、それぞれの時間を捻出していただいたセッションスピーカーの皆さんや、来場していただいた皆さんもありがとうございます。

買い物

今年もいろいろ買いました。いずれも満足度高いです。

  • Surface HeadPhone
  • MacBook Pro 13inch(2portモデル)
  • Surface Go(知人から譲渡)
  • iPhone 11
  • PS4 Pro(しかし、到着は来年1/12予定(涙))
  • Dellの30inch 4Kモニター

Surface HeadPhoneはノイズキャンセルだけならSONYの方がいいのでしょうけど、テレカンとかでマイクがついているのがいいなという感じです。複数のデバイスでペアリングしている場合、両方のデバイスが音を出そうとしていると、音がプチプチ切れてしまう現象が起きてしまうのがちょっとうーんという感じです。

Dellの30インチモニターはHighDPI評価用に買ったのですが、やっぱりいいですね。大きさも24インチ出始めのモニターより少し大きいくらいで、120cmの机にも余裕で置けました。来年はもう一台置いている24インチフルHDモニターを27インチくらいの4Kモニターにしようかなぁと思っています。多分またDellかな…。サポート、コストなど総合的に見るとここが一番良さそうです。

年末に愛用のThinkPad X1 Extremeが壊れたのはかなり困りました。調べてもらったら、増設したHPのNVMe SSDが壊れていたようで、代理店送りになってます。これ直らないと大物ソフトのインストールができないので、早く帰ってきて欲しいところです。

来年に向けて

来年もチャンスがあれば、カンファレンスで話したいですね。Azure DevOpsもうちょっと使ってもらえるように…。執筆やセッションのご相談はお気軽にどうぞ。

2019年にリリースされたAzure DevOps機能の振り返り

遅れましたが、Azure DevOpsアドベントカレンダー25日目の記事です。

qiita.com

今年はAzure DevOpsSprint 146からSprint 162までリリースされましたが、この一年を振り返ってどんな一年だったかまとめてみたいと思います。

一般

Sprint 147で新しいナビゲーション(垂直方向の新UI)が全員に対して展開されました。賛否両論あったUIですが、昔のUIはもう古いTFSでしか見ることができなくなっています。使っている技術も変わっているようですね。ただし、複雑なというか、掘りつくさないといけないUIは変わっていないので、もう少し整理が必要な気はします。

Sprint 148でAzure CLIにDevOps拡張機能が公開されました。基本的に今まであったPowerShellベースのほうからこちらに移行することになるのかな?という感じです。PowerShellは.NETベースのオブジェクトモデルを使っていたので、ほかのプラットフォームでは使えませんでした。Sprint 152ではazコマンドから直接REST APIを呼べるようになったのも便利です。

Sprint 150で流行りの(?)Darkテーマがサポートされました。私は使ってないんですが、たまにみかけますね。あと、docsのサイトもOSのテーマに追従するようになっていますね。突然ダークで表示されてちょっとびっくりします。

お買い上げの方法や、GitHubでのサインインが//Buildでアナウンスされました。GitHubアカウントでのサインインはやったことないですが、裏でMSアカウントを作っているはずなので、ちょっとだけ注意ですかね。Sprint 155ではGitHubをコラボレーターとして招待できるようにもなっています。

IPアドレスが明確化されたので、Firewallで制御しやすくなりました。サインイン用のアドレスは別途必要なので、IPアドレスだけですまないのですが、よくなったと思います。

VS Subscriptionを割り当てるグループを作っておけば自動的にorganizationで展開されるという、Azure ADと連携した自動的にサービスごとのロール設定できるようになったのも大規模では便利ですね。

後全般的に言えることですが、GitHubおよび、GitHub Enterprise, BitBucketなどの外部サービスの連携も非常に強化されました。

Azure Boards

大きいのはSlackおよび、Teamsアプリの公開でしょうか。あとGitHub側にもBoardアプリの提供が開始されました。issueに慣れている人は別にいいと思うんですが、複数のレポジトリを串刺しで管理したい場合、Boardsのほうが向いているとは思います。

従来のExcelでのタスク編集も便利だったのですが、Windowsのみだったので、クロスプラットフォームをサポートするCSV取り込みも便利ですね。Azure-CLIと連携して他のツールでCSVを生成して、Azコマンドで取り込みするという連携が可能になっています。

Azure Repos

こちらもSlackTeamsアプリが公開されました。余談ですが、Slackのほうが先になるのはやはりエンジニアが使っているのはSlackのほうが多いから、という理由もあるんでしょうかね。Slack便利だし、よくできていると思います。年末にようやく一括登録のサポートが行われて助かりました。

地味ですが、非en-usというか、マルチバイト文字が一般的な地域ではエンコーディングサポートも大変助かります。

大規模な環境では複数のレポジトリのブランチポリシー設定も便利ですね。

Azure Pipelines

もう多すぎてわからないくらい機能強化されたAzure Pipelinesです。最大の拡張はYAMLパイプラインでしょうか。クラッシックのGUIエディターに追いつけ追い越せでできないことがかなりなくなってきました。昔からパイプラインの編集にWorkItemを関連づけたいというフィードバックはしていたのですが、こういう形になるとは思っても見ませんでした。競合のSaaS CIサービスはほとんどYAMLサポートしているのでこうなったのでしょうけど。

Multi-Stageの対応GitHub Actionsの対応Jiraのサポートといった連携運用も多くなりました。

そして、Kubernetisサポートもどんどん拡張されていきました。今はほぼKubernetis専用のEnvironmentsも他のサービスにも対応して欲しいですね。特にWeb AppsやVMに対応してもらえるといいなぁ。

Visual Studio 2019やUbuntu 18.04、macOSが増えた結果、Hosted Poolが増えすぎて収集がつかなくなったこともあり、一つの仮想的なHosted Poolにまとめられました。これで誰がキューに入れているか分かりやすくなったので、大規模環境では特に便利かなと思います。

Repos, Boardsと同様にPipelinesにもTeamsとSlackアプリがリリースされました。承認作業もできるようになったので、TeamsやSlackをフロントエンドにできるようになったのも大きいですね。

Pipeliesはおそらく今後ももっと強化されるでしょうけど、欲を言えばもう少しHostedの性能とか制限を緩和して欲しいかなぁという気はします。サポートされ始めましたが、PipelinesでのDockerイメージのキャッシュももっと頑張って欲しいかな。

TIPSとしてはmacOSは実機を使っているので、JavaScriptとか.NET CoreとかビルドするときはmacOSを選ぶのがいいというのは当面変わらない回避方法になるという状況は当面続くんでしょうかね。

Azure Tests

大きいというか、唯一と言ってもいい改善はTest PlansのUI更新でしょうかというか、これ以外ないような。テスト実行でいくつか改善はありましたが、それらは全部Pipelines側の改善なんですよね。

テスト実行結果をAnalytics Viewとかでよりよく見えるようになる改善は期待したいと思います。

Azure Artifacts

Public Feedの公開と容量課金への変更でしょうか。

今までは無制限でしたけど、容量課金になったことで共有の戦略を考えた方がいいですね。容量課金とは言っても、組織内で一つに集約するとかした方がいいですね。ただし、Pipelineで受け渡すためのArtifactsはこの課金の対象外だそうですので、安心してください。

Analytics

Analyticsが一般提供開始になりました

あとはほとんどWidgetの改善でしょうか。ビルドごとのレポートも大変便利ですね。こういうのもうちょっと使いこなしていきたいです。

Power BIにこういうビルド結果とかテスト結果を流したいので、もうちょっと自分でも使ってどんなことができるのか試してみたいです。前のXAMLビルドではちゃんとビルド結果をSQL Reportingに出せたので、またやりたいですね。

Wiki

mermaidがサポートされたのはちょっとびっくりでしたが、会社で使っている人がいて、確かに便利そうでした。

Boardのクエリ結果を挿入できる機能もリリースノート書くときとか便利ですよね。

Wikiの更新通知もいいですね。通知だけど、メールやWebhookの通知があるともっと良さそう。というか、SlackやTeamsへの通知もあるといいな。

Wikiの中身はGitレポジトリなので、流用できそうな気もします。

オンプレミスのAzure DevOps Server 2019

2019 Update 1.1がリリースされています。大体Sprint 159くらいまで入っているんじゃないでしょうか。上記の話は割とオンプレミスにも当てはまります。アップグレード大変だと思いますし、コード検索を毎回生成し直しも大変だと思います。この辺改善して欲しいですね。とりあえずメモリイーターだった状態は改善されたので、今後も引き続きよろしく!

総括

自分が気になったところだけをまとめてみましたけど、「こんなお気に入りの機能がある」とかありましたら是非かいてみてください。やはりどうしてもPipelinesに偏ってしまう傾向があると思いますが、いろいろ使い出があるサービスなので、是非活用して開発効率を改善してみてください。

来年も楽しんでHappy Coding!

Azure DevOps 2019/12/2の更新

Azure DevOps Sprint 161の翻訳を行いました。オリジナルはこちらから読んでください。

docs.microsoft.com

Sprint 161で今年終わりだと思っていたのに、間隔短くしてSprint 162までリリースされたので、冬休みの宿題みたいになってしまいました…何とか今年中に終わらせます。

この中で特に気に入っているのは複数のレポジトリからチェックアウトできるようになった機能ですね。例えばHugoとかの静的サイトジェネレーターではテーマと本体が別のレポジトリということも珍しくありません。

こんな場合Submodule使っていたんですが、Azure DevOps側で簡単に対応できるのは便利です。

Python 2.7でUCS-4のサポートとはちょっと意外でした。もう来年早々にサポート終わるのに…。

Slackおよび、TeamsアプリでプロジェクトにあるRepos / ビルド定義を丸ごと追加できるようになったのもいいですね。今まで一つずつ追加で困っていたので助かります。

ではまた近日中に。

Translate to Japanese to Azure DevOps release note ...