このスプリントでは、pull requestのエクスペリエンスにいくつかの機能強化を加えています。その中には、オプションのチェックをより見やすくすること、Ctrlを押しながらクリックすると新しいタブを開くことができるようにすること、特定の場所に注釈を追加すること、コメントフィルタリングのレイアウトを改善することなどが含まれています。
詳細は以下の新機能一覧をご覧ください。
- Azure PipelinesでNode 10への移行を開始しました
- スケールセットエージェント内にある不健全なエージェントを記録して、取り除こうとします
- ubuntu-latestを指定したパイプラインがもうすぐUbuntu-20.04になります
Agile、Scrum、CMMIのすべての異なるワークアイテムタイプには、いくつかの隠されたシステムルールがあります。これらのルールは10年以上前から存在しており、一般的には何の不満もなくうまく機能してきました。しかし、いくつかのルールの中には、その恩恵を使い果たしてしまったものがあります。とくに1つのルールは、新しい顧客や既存の顧客に多くの苦痛を与えており、私たちはそのルールを削除する時が来たと判断しました。このルールは、アジャイルプロセスの作業項目のBugに存在します。
"StateがResolvedへ変更されたとき、Created ByにAssignedの値を設定する"
このルールについて多くのフィードバックをいただきました。これを受けて、私たちは先に進み、アジャイルプロセスの作業項目のBugからこのルールを削除しました。この変更は、継承されたAgileまたはカスタマイズされ、継承されたAgileプロセスを使用しているすべてのプロジェクトに影響します。この現在のルールが好きで依存しているお客様のために、カスタムルールを使用してルールを再追加するために取ることができる手順については、私たちのブログ記事をご覧ください。
新しいpull requestエクスペリエンスは数ヶ月前からプレビュー中です。多くの方からいただいたフィードバックに対応してきました。今回のスプリントのデプロイでお目にかかれるであろう、改善点を次にお知らせします。
顧客は、開発者が潜在的な問題に注意を向けるために、オプションのチェックを使用しています。以前のエクスペリエンスでは、これらのチェックが失敗した場合は明らかでした。しかし、プレビューエクスペリエンスではそうではありません。必須チェックの大きな緑色のチェックマークは、オプションチェックの失敗を隠しています。ユーザーはチェックパネルを開いてはじめて、オプションのチェックが失敗したことに気づくことができました。開発者は、問題の兆候がない場合には、このようなことはあまりしません。このデプロイメントでは、サマリーでオプションチェックのステータスをより明確に表示するようにしました。
PRのタブメニューがCtrlを押しながらのクリックをサポートしていませんでした。ユーザーはpull requestを確認するときに新しいブラウザタブを開くことがよくあります。この問題が修正されました。
PRのファイルのツリーリストには、著者や校閲者が新しいファイルを識別するのに役立つ注釈[+]が表示されます。注釈は省略記号の後にあるので、長いファイル名は省略されることがあります。
PRで更新とファイルの比較を選択するドロップダウンは、プレビューのエクスペリエンスで重要な要素を失いました。更新が行われたときに表示されないというものでした。この問題は修正されました。
pull requestのサマリーページでコメントをフィルタリングする際、ドロップダウンが右にあるのにテキストが左寄せになっていました。これを修正しました。
次の2つのスプリントでは、さらに多くの改善を計画しています。
最初に公開されたバージョンからの更新です。Red Hat Enterprise Linux 6にはNode 14において非互換があるため、Node 14での作業を中断し、まず Node 10へ移行することにフォーカスします。
このリリースでは、Azure PipelinesタスクのランタイムとしてNode 6からNode 10への移行を開始しました。また、Node 10上で実行するために、最初のバッチで最初に実行されるタスクを更新しました。この変更は、デフォルトでエージェントからNode 6を削除するプロセスの開始を示しています。Node 6はサポートを終了しており、自動化スキャナーによってよくセキュリティリスクのフラグが立てられます。私たちは、Node 6の使用がほとんどの潜在的な欠陥の対象になる可能性は低いと考えていますが、それにもかかわらず、サポートされているランタイムにタスクを取得することは重要です。2021年には、Node 6を使用しないバージョンのエージェントをリリースする予定です。
もしあなたがNode 10対応のタスクを使用している場合、self-hostedエージェントは新しいバージョンのタスクを実行するために自分自身を更新します。それ以外は、ほとんどの顧客にとって影響はないはずです。一方、もしあなたがタスクを作成しているのであれば、Node 10で動作するようにアップデートを開始すべきです。task.json
では、execution
にNode
からNode 10
にアップデートできます。古いサーバのバージョンをサポートする必要がある場合は、Node
のエントリポイントを残しておくことができます。Node 10ハンドラーを理解しているAzure DevOpsのインスタンスはデフォルトでそれを選択し、そうでないインスタンスはNode 6の実装にフォールバックします。
スケールセットエージェントを使用すると、Azure Pipelinesはエージェントインスタンスのスケールアップとスケールダウンを管理します。Azure Pipelinesがスケールセット内から不健全なVMを検出すると、Pool Diagnostics UIに問題を記録し、VMの削除を試みます。VMが不健康になる理由はたくさんあります。スケールセットのネットワーク構成によってAzure Pipelines拡張機能が最新のエージェントをダウンロードできなかったり、カスタムスクリプト拡張機能が失敗したり、スケールセットのVMイメージが再起動やWindows Updateを保留している場合などが考えられます。
不健全なVMを削除することで、Azure PipelinesはCI/CDジョブを実行するためにエージェントプールを最適化した状態に保ちます。場合によっては、Azure Pipelinesの診断ページ(上図)やAzureの診断ページを使用して、この問題をデバッグすることができるかもしれません。しかし、多くの場合、この問題を診断するには、VMにログインしてエージェントログやイベントビューアログを確認するのが最善の方法です。現時点では、不健全なVMは自動的に削除されるため、事後診断が難しくなっています。
今回のリリースでは、調査のために不健全なエージェントを保存する機能を提供することで、不健全なVMの事後診断の可能性を向上させました。
不健全なエージェントが保存された後、仮想マシンに接続してデバッグし、必要なログを取得できます。終了したら、エージェントと関連するVMを解放できます。詳細については、不健全なエージェントのトラブルシューティングのセクションを参照してください。
Ubuntu 20.04は、まもなくAzure Pipelinesのubuntu-latestラベルのデフォルトバージョンになります。この変更は、11月30日から数週間にわたってロールアウトされます。
お使いのUbuntuパイプラインに問題がある場合は、以下の手順に従ってください。
- virtual-environmentsリポジトリにissueを登録してください。
- パイプラインの
vmImage
にubuntu-18.04
を指定して明示的にUbuntu 18.04を指定します。今後もUbuntu 18.04をサポートします。
ubuntu-18.04とubuntu-20.04では、プリインストールされているツールとツールのデフォルトバージョンが異なっている可能性がありますのでご注意ください。すべての違いについては、actions/runner-images#1816 を参照してください。
注意事項
ここで議論されている機能は今後二~三週にわたって順次展開されます。
これらの新機能を読んだ後、次のリンクからぜひご自身でAzure DevOpsサービスを体験してみてください。
これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。
アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。
ありがとうございました。
Matt Cooper