このスプリントでは、Delivery Plans 2.0を新しく凝縮されたビューとロールアップインフォメーションで強化しています。また、Manual ValidationとYAMLパイプラインにリソースを事前に宣言するための新しいuses
という構文を導入しています。
今回提供する機能の詳細は以下をご覧ください。
Delivery Plans 2.0パブリックプレビューの一環として、ロールアップインフォメーションが公開されました。EpicsやFeaturesのような高レベルのワークアイテムを扱う際に、より詳細な情報を見たいと思うかもしれません。ロールアップでは、その下にある子作業項目の進捗状況が表示され、ストーリーの全容が明らかになります。この機能を有効にするには、plan settings→Fields→Show child rollup dataの順に選択します。
Delivery Plans 2.0のパブリックプレビューの一環として、お客様がNormal(通常表示)とCondensed(凝縮表示)を切り替えられるようになりました。フィールドが追加されたカードは、縦方向のスペースを大きく取ることがあります。そのため、画面を完全に拡大しても、一度に数枚以上のカードを見ることができません。そこで、カードからすべてのフィールドを非表示にし、ワークアイテムタイプのアイコンとタイトルのみを表示する、折りたたまれたカードビューを作成しました。すべてのフィールドを隠したり、表示したりすることが、クリックするだけでできるようになりました。
パイプラインがエージェント上でジョブを実行すると、そのエージェントはAzure PipelinesのREST APIにコールバックしたり、リポジトリのようなリソースをダウンロードしたりするためのアクセストークンを与えられます。最近、YAMLパイプラインについては、実際にジョブから参照されているリポジトリのみにトークンを制限する設定を追加しました。しかし、一部の顧客はcheckout
ステップを明示的に使用せずにリポジトリを使用しており、たとえば、スクリプトステップを使用してGitを直接呼び出す場合などがありました。このような顧客は、Azure Pipelinesがジョブに必要なリポジトリを正確に判断できないため、トークン制限機能を有効にすることができませんでした。
今回のアップデートでは、checkout
ステップを使用せずにリポジトリを使用したいジョブをAzure Pipelinesに伝える方法を追加しました。checkoutの代わりに、次のような新しいuses
キーワードが使用できます。
resources:
repositories:
- repository: myrepo
type: git
name: MyProject/MyRepo
jobs:
- job: myjob
uses:
repositories:
- myrepo
steps:
# "uses"ステートメントを使わないまま、limit-repositories機能をオンにすると、
# Azure Pipelinesはこのレポジトリへのアクセスにトークンを含めなくなるため、
# 実行時にアクセスエラーが発生します。
# (実際のパイプラインでも、
# Gitへの引数にauth tokenヘッダを含めなければなりません)
- script: git clone https://dev.azure.com/MyOrg/MyProject/_git/MyRepo
この機能は、関連する(あまり一般的ではありませんが)問題も解決します。matrix
キーワードを使用して複数のジョブを生成し、それらのジョブがmatrixステップで指定されたプールを使用している場合、パイプラインでそれらのプールを認可する際に問題が発生するかもしれません。根本的な原因は同じです。マトリックスは実行時に計算されるため、アップフロントのリソース認可システムでは、どのプールが使用されているかを正確に判断することができません。uses
を使用して、ジョブが使用するプールを宣言することで、アップフロントでの承認が可能になります。
jobs:
- job: mtrx
strategy:
matrix:
windows:
mypoolname: Private-Windows
mac:
mypoolname: Private-Mac
pool: $(mypoolname)
# without the following "uses" statement, "pool" won't see
# the pool names until it's too late, and you'll get an error
# at runtime
# 次の "uses "文がないと、"pool "は表示されません
# pool名の指定が後ろになると、実行時にエラーとなります。
uses:
pools:
- Private-Windows
- Private-Mac
新しくリリースされたManual Validationタスクを使うと、YAMLパイプラインをステージの途中で一時停止できるようになりました。これにより、手動またはオフラインのアクティビティを実行し、実行を再開(または拒否)できます。これは、パイプラインを一時停止して、長時間実行される計算集約的なジョブへ移行する前に、事前にコンフィギュレーションの設定、ビルドパッケージなどを検証させたい場合とくに便利です。詳細はこちらをご覧ください。
注意事項
ここで議論されている機能は今後二~三週にわたって順次展開されます。
これらの新機能を読んだ後、次のリンクからぜひご自身でAzure DevOpsサービスを体験してみてください。
これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。
アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。
ありがとうございました。
Matt Cooper