この度、Delivery Plans 2.0が一般提供されることになりました。Delivery Plans 2.0は、計画のタイムライン表示、作業の進捗状況、依存関係の追跡という3つの重要なシナリオを実現しています。
詳細は、以下の機能説明をご覧ください。
- Microsoft提供のUbuntuエージェントに対する.NET SDKプリインストールポリシーの変更
- variable groupsとsecure filesにパーミッションとチェック機能が追加されました
- YAMLエディターでテンプレートのサポートをプレビュー提供します
- 2021年9月にMicrosoft提供のエージェントからUbuntu-16.04が取り除かれます
この度、Delivery Plans 2.0が一般提供されることになりました。3つの重要なシナリオを実現しています。
- 計画のタイムライン表示
- 作業の進捗状況
- 依存関係の追跡
これらのシナリオは、チームやプロジェクトを超えて機能します。Delivery Plans 2.0は製品に組み込まれているため、拡張機能はもう必要ありません。以前からあったPlans拡張機能で作成したPlanは、Delivery Plans 2.0でそのまま使用できます。
PlansとDelivery Plansの違いを簡単に比較してみましょう。
Feature | Plans 1.0 (extension) | Delivery Plans 2.0 |
---|---|---|
チーム数 | 最大10 | 最大15 |
Work item時間経過 | Iterationのみ | Start/Target dateとIteration |
Visualization | Full cardビュー | 縮小および、展開ビュー |
Roll-up information | なし | リンク及び、子アイテムの完了割合(%) |
Dependency Tracking | なし | あり |
Start Timeの視覚化 | なし。Work Itemの終了のみ | あり。Work Itemの開始と終了両方 |
Card Styling | なし | あり |
以下、主な機能をご紹介します。Filtering, Markers, Field CriteriaもDelivery Plansの一部です。
Delivery Plans 2.0では、start(開始日)、target(目標日)、またはiteration dates(イテレーションの期間)を使用して、計画内のすべての作業項目をタイムライン上に表示できます。優先順位は、開始日と目標日、そしてイテレーションの順になります。これにより、Epicのようなポートフォリオレベルのワークアイテムをイテレーションに追加できます。
condensed viewとexpanded viewというの2つの主要なビューがあります。また、プランの右端にある虫眼鏡をクリックすると、プランを拡大・縮小可能です。
- Condensed View(凝縮ビュー)
Condensed View(凝縮ビュー)では、すべてのワークアイテムカードが折りたたまれて表示されますが、すべてのカード情報が表示されるわけではありません。このビューは、プラン内の作業の全体像を把握するのに便利です。カードフィールドを折りたたむには、プランの右端にある虫眼鏡の隣にあるカードアイコンをクリックします。
以下は、凝縮表示と拡大表示を切り替えているプランの例です。
- Expanded View(展開ビュー)
展開ビューでは、子アイテムやリンクされたアイテムの数をカウントし、完了した割合を表示することで、ワークアイテムの進捗状況を示します。現在、進捗状況はワークアイテムの数で判断しています。
以下は、拡張ビューを使用したプランの例です。進捗バーと進捗率に注目してください。
依存関係の追跡は、ワークアイテムに定義された前任者と後任者のリンクに基づいています。これらのリンクが定義されていない場合、依存関係の線は表示されません。ワークアイテムに依存性の問題がある場合、依存性リンクのアイコンは赤く表示されます。
- 依存関係の表示
特定の依存関係は、方向性を含むそのワークアイテムのすべての依存関係を表示する依存関係パネルで確認できます。赤いびっくりマークは、依存関係に問題があることを示しています。パネルを表示するには、カードの右上隅にある依存関係のリンクアイコンをクリックします。以下は依存関係の例です。
- 依存関係の方向を示す矢印
ワークアイテム間の依存関係は、それぞれのワークアイテム間の方向性のある矢印線で視覚化されます。複数の依存関係がある場合は、複数の線で表示されます。赤色の線は問題があることを示しています。
いくつかの例を表示します。
複数の依存関係を持つワークアイテムの例で、凝縮ビューでも機能します。
問題がある場合、線の色が赤になり、依存関係のアイコンも赤になります。
こちらがサンプルになります。
カンバンボードのように、ルールを使ってカードをスタイリングできるようになりました。プランの設定を開き、Stylesをクリックします。スタイルパネルでAdd styling ruleをクリックしてルールを追加し、Saveをクリックします。ルールは最大10個まで設定でき、各ルールには最大5つの節があります。
- 設定前
- 設定後
今回のリリースでは、チームやプロジェクトのダッシュボードを、同じプロジェクトや新しいプロジェクトにコピーできるようになりました。ダッシュボードのウィジェットとレイアウトはコピーされますが、ウィジェットは新しいクエリと設定で構成する必要があります。
この機能をプレビューするには、Copy Dashboard Experienceという機能フラグをオンにしてください(preview featuresの中にあります)。
ダッシュボードをコピーする手順は以下の通りです。
- コピーしたいダッシュボードにアクセスします。そこからメニューをクリックしてCopy Dashboardを表示し、クリックしてください。
- 新しいダッシュボードの名前と説明を入力し、ダッシュボードのタイプをチームまたはプロジェクトから選択します。Team Dashboardを選択する場合は、新しいプロジェクトとチームを、それぞれプロジェクトとチームのドロップダウンボックスから選択します。Project dashboardの場合は、プロジェクトのみが必要です。
新しいIterationcapacities REST APIを使用して、イテレーション内のすべてのチームの合計キャパシティを取得できるようになりました。iterationId
を指定すると、APIはイテレーションに関連する各チームのキャパシティの合計と、全体の合計を返します。この機能により、インクリメントのキャパシティプランニングが容易になります。Iterationcapacitiesの詳細については、こちらのドキュメントをご覧ください。
Microsoftが提供するUbuntuエージェントにプリインストールされる.NET SDKのバージョンを変更します。現在は、利用可能でサポートされているすべての.NET SDKのバージョン(2.1.x、3.1.x、5.0.x)をインストールしています。今後は、機能バージョンごとに最新のパッチバージョンをインストールする方法に変更します。この変更は、お客様により多くの空き容量を提供するためと、新しいツールのリクエストのために行われます。詳細については、software and image guidlinesをご覧ください。
SDKのバージョンは、x.y.znnというパーツで構成されており、zは機能バージョン、nnはパッチバージョンを表します。例えば、2.1.302の場合、機能バージョンは3で、02がパッチバージョンとなります。新しいアプローチでは、機能バージョンごとに最新のパッチバージョンのみをインストールします。つまり、2.1.3xには2.1.302のみ、2.1.4xには2.1.403のみ、といった具合です。最新のパッチバージョンではない.NET SDKのすべてのバージョンは、6月14日にUbuntuイメージから削除されます。この変更は、Microsoftが提供するエージェント上のUbuntuのすべてのバージョンに影響します。
アップデートされたイメージの展開は6月14日から開始され、3~4日かかる予定です。
global.jsonファイルを使用した場合、以下のようなケースでビルドに影響が出ます。
global.jsonファイルにrollForward: disable
プロパティが含まれており、SDKのバージョンが最新のパッチバージョンではない場合、ビルドに失敗します。例えば、以下のようになります。
{
"sdk": {
"version": "3.1.100",
"rollForward": "disable"
}
}
global.jsonファイルにrollForward: patch
プロパティが含まれている場合、.NET SDKのバージョンは自動的に最新のパッチに変更されます。例えば、以下のようになります。
Copy
{
"sdk": {
"version": "3.1.100",
"rollForward": "patch"
}
}
global.jsonファイルでrollForward
フィールドが指定されていない場合は、変更はありません。インストールされている最新のパッチレベルが使用されます。
最新のパッチではない正確な.NET SDKのバージョンを使用する必要がある場合は、UseDotNetタスクを使用して、ビルドの一部としてインストールしてください。
steps:
- task: UseDotNet@2
displayName: 'Use .NET Core sdk'
inputs:
version: <dotnet version>
YAML パイプラインでは、さまざまな種類の共有リソースが使用可能です。例えば、servicce connections、variable group、secure files、agent pools、environments、またはrepositoriesなどです。パイプラインがリソースにアクセスできないようにするには、リソースの所有者がそのリソースにパーミッションとチェックを設定できます。パイプラインがリソースにアクセスしようとするたびに、設定されたすべてのパーミッションとチェックが評価されます。これらの保護機能は、以前からservicce connections、agent pools、environmentsで利用可能でした。最近では、リポジトリにも追加されました。今回のリリースでは、variable groupとsecure filesにも同じ保護機能が追加されています。
variable groupやsecure filesへのアクセスを一部のパイプラインに限定するには、Pipelines permissionsを使用します。
パイプラインが実行されるたびに評価されるべきチェックや承認を設定するには、Approvals and checks for Library機能を使用します。
テンプレートはYAMLパイプラインでよく使われる機能です。パイプラインのスニペットを簡単に共有できます。また、パイプラインを通じてセキュリティとガバナンスを検証または強化するための強力なメカニズムでもあります。
Azure Pipelinesは、パイプラインの編集に便利なYAMLエディタをサポートしています。今までWebエディタはテンプレートをサポートしていませんでした。そのため、YAMLパイプラインの作成者は、テンプレートを使用する際にインテリセンスの支援を受けることができませんでした。今回のリリースでは、YAML エディターでのテンプレートのサポートをプレビューしています。このプレビューを有効にするには、Azure DevOps organizationの設定で機能のプレビューに移動し、YAML templates editorを有効にします。
メインのAzure PipelinesのYAMLファイルを編集する際に、テンプレートを含めることも拡張することもできます。テンプレートの名前を入力すると、テンプレートを検証するように促されます。検証されると、YAMLエディタは、入力パラメータを含むテンプレートのスキーマを理解します。
検証後、テンプレートへのナビゲートの選択ができます。YAMLエディタのすべての機能を使って、テンプレートに変更を加えることができるようになります。
この機能はプレビュー版であることにご注意ください。既知の制限事項があり、そのうちのいくつかは現在対応中です。テンプレートに必須のパラメーターがあり、それがメインのYAMLファイルで入力として提供されていない場合、検証は失敗し、それらの入力を求めるプロンプトが表示されます。理想的には、検証がブロックされず、インテリセンスを使用して入力パラメーターを記入できるようにするべきです。また、エディターから新しいテンプレートの作成はできません。既存のテンプレートを使用または編集することしかできません。
Canonical社によるUbuntu 16.04の従来の5年間のサポートが2021年4月に終了します。弊社の環境を最新かつ安全に保つために、2021年9月20日にUbuntu 16.04を削除します。
ubuntu-16.04のワークフローを、Ubuntu 20.04 LTS上で動作するubuntu-18.04またはubuntu-latestに移行する必要があります。
この変更を皆様にご理解いただくために、2回の短いブラウンアウト(訳注:計画停電。つまり意図して使えなくなる状態に陥らせること)を予定しています。ブラウンアウト期間中は、Ubuntu 16.04のビルドはすべて失敗します。そのため、2021年9月6日より前にパイプラインを移行することをお勧めします。
ブラウンアウトは、暫定的に以下の日時に予定されています。この期間が近づくにつれて、これらの時間は更新されます。
2021/9/6 17:00 UTC - 22:00 UTC (2021/9/7 2:00 - 7:00 JST)
2021/9/14 17:00 UTC - 22:00 UTC (2021/9/15 2:00 - 7:00 JST)
注意事項
ここで議論されている機能は今後二~三週にわたって順次展開されます。
これらの新機能を読んだ後、次のリンクからぜひご自身でAzure DevOpsサービスを体験してみてください。
これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。
アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。
ありがとうございました。
Aaron Hallberg