Visual Studio Team Services(VSTS)のSprint 123アップデートでは、複数の種類のビルド定義を一つのビルドに内に格納し、一連のビルドとして構築するためのマルチフェーズビルドの提供開始を発表しています。 以下のマルチフェーズビルドの詳細を読んでください。
その他の重要な機能のハイライトの一部は次のとおりです。
- New Query experience - お気に入りと簡略化されたディレクトリを使用して、重要なクエリを取得します。
- Personalized notifications for releases - リリースパイプライン動作時に介入しなければならないタイミングでの通知
- Run webtests using the VSTest task - CI / CDパイプラインにWebテストを組み込み。
- Gulp, Yarn, and more authenticated feed support - ビルドタスクで認証されたフィードを使用可能にする。
- Burndown and Burnup widgets - 質問に答えてください:このプロジェクトは時間通りに完了しますか?
- ディープリンク、コンテンツのプレビューをサイドバイサイドで編集、WikiへのリッチなHTML コンテンツ貼り付け
注意事項
ここで紹介している新機能は今後三週間にわたって順次展開されます。
Tip
New Queries Experience はあなたのプロファイルでpreview feature を有効にしてください。
Queriesハブには、新しいルックアンドフィール、ナビゲーションの変更、クエリーを検索する機能などの新機能があります。最初に左ペインが削除されていることに気づくでしょう。 お気に入りのクエリにすばやく移動するには、クエリタイトルのプルダウンを使用します。
または、新しいディレクトリページのすべての個人クエリと共有クエリを参照し、自分とチームにとって重要なものを好きにしてください。 Queriesのパンくずリストでクエリーディレクトリにアクセスできます。
ディレクトリページでは、次のような各クエリの新しいメタデータが強調表示されます。
- クエリのタイプ
- 階層内のパス
- そのクエリを最後に修正した人
- 最後に変更されたタイミング
このページには、気になるクエリをすばやく検索できるフィルタバーもあります。
これに加えて、さらに以下の改善を行いました:
- @Followsマクロを使用して、フォローしている作業項目クエリを作成および編集する
- @Mentionsマクロで言及された作業項目を照会する
- Save asでチャートを新しいクエリにコピーする
- ResultsとEditor用の簡略化されたコマンドバー
- 結果グリッドでのフィルタ機能の拡張
キーボードショートカットを使用して、作業項目を自分自身に割り当て(Alt + i)、ディスカッションに移動(Ctrl + Alt + d)し、作業項目にクイックリンクをコピー(Shift + Alt + c)します。 新しいショートカットの完全なリストについては、作業項目フォームを開いた状態で「?」と入力するか、下の表を参照してください。
Work Itemsハブ内で、アイテムの選択に基づいて変化するコンテキストアクションを使用できるようになりました。 Queriesで選択した項目をクリップボード(Ctrl + C)、電子メール、削除(Delete)、および開くで開くことができるようになりました。 または、ShiftキーまたはCtrlキーを使用して、一度に複数項目の選択もできます。
お客様からのフィードバックにより、Web、Excel、およびVisual Studio IDEの作業項目のクエリ結果ビューで複数行のテキストフィールドの動作を更新し、HTML書式を削除しました。クエリ結果の列に追加すると、複数行のテキストフィールドがプレーンテキストとして表示されるようになりました。この説明にHTMLが含まれている機能の例を示します。
以前のクエリ結果では、時々次のような結果が表示されました。<span style="border: 1px solid #d3d6db;background-color: #f9f9f9;>"<div><b><u>Customer Value</u>...
Processの管理ページのプロセスとフィールドのリストはかなり長くなる可能性があります。 探しているプロセスやフィールドをすばやく見つけるために、これらのページにテキストフィルタを追加しました。
GitとTFVCのリポジトリにWeb経由でフォルダを作成できるようになりました。これにより、フォルダ管理拡張機能が置き換えられ、Folder Management extension拡張機能は廃止予定になります。フォルダを作成するには、コマンドバーまたはコンテキストメニューのNew > Folderをクリックします。
TFVCの場合、フォルダ名を指定してチェックインします。Gitでは、空のフォルダが許可されていないので、ファイル名を指定し、オプションでファイルを編集してからコミットする必要があります。
さらにGitでは、New fileダイアログが拡張され、スラッシュを指定すると、サブフォルダが作成できます。
ファイルを表示すると、通常、選択したブランチの先端にバージョンが表示されます。ファイルのバージョンを知るTipsとして、新しいコミットによって変更されます。このビューからリンクをコピーすると、URLにコミットSHAではなくブランチ名のみが含まれるため、リンクが古くなる可能性があります。Filesビューに簡単に切り替えて、URLをブランチではなくコミットを参照するように変更できるようになりました。 "y"キーを押すと、ビューは現在のブランチの最新のコミットに切り替わります。パーマネントリンクをコピーすることができます。
ナビゲーションペインでフィルタリングすると、Wikiのページ階層全体が表示されます。たとえば、「foobar」というタイトルのページをフィルタリングすると、フィルタを適用したナビゲーションペインにすべての親ページも表示されます。 これは、「foobar」というタイトルのないページがフィルタリングされた結果セットに表示される理由を混乱させる可能性があります。Wikiのコンテンツをフィルタリングすると、検索対象のテキストが強調表示され、フィルタリングされたタイトルと表示されていないタイトルが明確に表示されます。
すべてのコードナビゲーションペインで同様の挙動になっています。たとえば、ファイルナビゲーションペインでは、pull request、コミット、変更セット、シェルフセットがあります。
Wikiでページ内のセクションへのディープリンクをサポートしているので、目次を作成する時本当に便利です。 次の構文を使用して、同じページまたは別のページの見出しを参照できます。
詳細については、documentation for Markdown syntax guidanceを参照してください。
以前のWikiでは、ユーザーはキーボードを使用してページの並べ替えや親ページの再作成を行うことができず、これはキーボード操作で完結させたいユーザーに好まれていませんでした。今回の強化で、Ctrl + UpまたはCtrl + Downコマンドを使用してページを並べ替えることができます。また、ページのコンテキストメニューでMove pageをクリックし、移動させる新しい親ページを選択してページの親を再設定することもできます。
データから、ユーザーがほとんど常に、コンテンツの編集中にwikiページを複数回Previewすることがわかってます。各ページの編集では、平均でPreviewを1〜2回クリックしています。これにより、作業が遅くなってしまうため、新しいmarkdownファイルの編集時時間がかかることがあるため、快適な編集ができなくなっていました。そこで、編集中にページのプレビューを表示するようにしました。
Confluence、OneNote、SharePoint、mediawikiなどのブラウザベースのアプリケーションから、リッチテキストをWikiのマークダウンエディタに貼り付けることができます。これは、複雑なテーブルなどの豊富なコンテンツを作成し、Wikiに表示したい人にとって特に便利です。コンテンツをコピーしてHTMLとして貼り付けるだけです。
現代の複数のフェーズを持ったアプリケーションでは、さまざまな機能を備えたさまざまなエージェントのセットで、時には異なるプラットフォームでさえ、さまざまなタスクセットで構築する必要があります。今までVSTSでは、これらの種類のアプリのそれぞれの側面に別々のビルドを作成する必要がありました。しかし、今日からマルチフェーズビルドの一般提供を公開します。
必要なタスクを各フェーズを構成し、フェーズごとに異なるエージェントキューを指定できます。各フェーズにおいて、並列実行を指定することにより、複数のジョブを並列に実行できます。1つのフェーズで成果物を公開してから、それらの成果物をダウンロードして後続のフェーズで使用することができます。
現在可能なシナリオには、次のものがあります。
- 最初のフェーズでビルドエージェントプールでアプリケーションをコンパイルし、2番目のフェーズでテストエージェントプールでテストを実行します。
- Windowsエージェントの最初のフェーズでASP.NET Coreバックエンドをコンパイルし、2番目のフェーズでmacOSエージェントでアプリケーションのモバイルフロントエンドをコンパイルします。
この機能があなたのアカウントで使用可能になると、あなたの現在のビルド定義がすべて単一のフェーズにアップグレードされていることがわかります。要求やマルチ構成などの構成オプションの一部は、各フェーズに移行されます。ビルド定義内のすべてのフェーズのデフォルトキューを引き続き選択し、オプションで各フェーズでその選択肢を上書きすることができます。
私たちはまだいくつかの機能に取り組んでいます:
- 次のフェーズで出力変数を1つのフェーズから提供する機能。
- フェーズを並行して実行する能力 (今のところ、定義するすべてのフェーズは順番に実行されます)。
リリース通知は、VSTS通知設定エクスペリエンスと統合されました。 これらの管理リリースでは、保留中のアクション(承認または手動介入)と重要なデプロイメントの失敗が自動的に通知されるようになりました。これらの通知をオフにするには、プロファイルメニューのNotificationに移動し、Release Subscriptionsをオフにします。 カスタムサブスクリプションを作成することで、追加の通知にサブスクライブすることもできます。管理者は、TeamとAccount設定のNotification設定から、チームやグループの購読を制御できます。
リリース定義者は、手動で承認と展開の完了を電子メールで送信する必要がなくなりました。
これは、リリースに複数のステークホルダーを持つ大規模なアカウント、および承認される可能性のある承認者、リリース作成者、環境所有者以外が多くいる大規模なアカウントに特に便利です。
詳細については、post for managing release notificationsを参照してください。
ListビューとGridビューの2つのビューを使用して、すべてのリリースと環境変数を簡単に管理できるようになりました。Listビューを使用してリリースまたは環境変数をすばやく追加し、Gridビューを使用してスコープ間で変数を比較および編集します。 さらに、フィルタとキーワード検索を使用して、両方のビューで動作する一連の変数を管理できます。
新しいリリース定義エディタで、特定の環境の成果物条件を指定できるようになりました。 これらの成果物生成条件を使用すると、特定の環境にどのアーティファクトを展開するかをより細かく制御できます。たとえば、実稼働環境では、masterブランチからのみ生成されたビルドを展開させたい場合に有効です。このフィルターは、基準を満たす必要があると思われるすべての成果物に対して設定する必要があります。
また、リリース定義にリンクされている成果物ごとに複数のフィルタを追加することもできます。 すべての成果物条件がうまく満たされている場合にのみ、この環境に配備されます。
BuildとReleaseのエクスペリエンスを刷新しながら、デプロイメントグループのページを再創造して、よりクリーンで直感的なエクスペリエンスを実現しました。開始ページから、展開グループ内のターゲットの正常性が確認できます。また、個々の展開グループのセキュリティを管理したり、展開グループ全体の既定のアクセス許可を設定することもできます。
デプロイメントグループ内のターゲットの場合、要約、最近の展開、およびターゲットの機能を表示できます。ターゲット上にタグを設定し、各ターゲットで何が実行されるかを制御できます。今後のリリースで、展開グループのフィルタサポートを追加する予定です。
Visual Studioのテストタスクを使用して、WebテストをCI / CDパイプラインで実行できるようになりました。Webtestsは、タスクアセンブリ入力で実行するテストを指定することで実行できます。Webtestにリンクされた”associated automation”を持つテストケースのワークアイテムは、タスク内のテスト計画/テストスイートを選択することによって実行することもできます。
Webtestの結果は、テスト結果の添付ファイルとして利用できます。 これは、Visual Studioでオフラインで分析するためにダウンロードできます。
この機能はVisual Studioテストプラットフォームの変更に依存し、Visual Studio 2017 Update 4をビルド/リリースエージェントにインストールする必要があります。 WebTestは、以前のバージョンのVisual Studioを使用して実行することはできません。
同様に、WebテストはRun Functional Testタスクを使用して実行できます。 この機能は、Visual Studio 2017 Update 5で使用できるTest Agentの変更に依存します。
負荷テストと一緒に使用する方法の例として、Load test your app in the cloud using Visual Studio and VSTS quickstartを参照してください。
以前は、Testハブのテスト計画とスイートにチャートを作成し、それらをダッシュボードに固定することができました。今回の更新でダッシュボード上のウィジェットカタログからテスト計画とスイートのためのチャートを作成できるウィジェットを追加しました。テストオーサリングステータスまたはテスト実行ステータス用のチャートを作成できます。さらに、ウィジェットからチャートを追加することで、より多くのデータをチャートに表示する際に、より大きなチャートを作成することができます。
失敗したテストの標準出力と標準エラーに対応するさまざまな種類のロギングステートメントによって生成されたログを公開するように、VSTestタスクを強化しました。 また、プレビューエクスペリエンスを改善して、テキストファイルとログファイル形式の表示をサポートし、ログファイルを検索する機能も備えています。
今のnpmタスクは、認証されたnpmフィード(Package Managementやnpm EnterpriseやArtifactoryなどの外部レジストリ)とシームレスに連携しますが、これまでGulpやYarmのようなタスクランナーから認証フィードの使用は困難でした。今回のアップデートでは、.npmrcに資格情報を追加する新しいnpm Authenticateビルドタスクを追加しました。これにより、後続のタスクで認証されたフィードを正常に使用できるようになります。
以前はフィードを作成することで作成ユーザーが唯一のフィード所有者に設定されていました。そのため、大規模な組織では、ユーザーがチームを切り替えるか組織を離れる場合に管理上の課題が発生する可能性があります。この単一障害点を削除するために、フィードを作成すると、ユーザーの現在のプロジェクトコンテキストが使用され、Project Administratorsグループが取得され、フィードの所有者になります。任意の権限と同様に、このグループを削除し、フィード設定ダイアログを使用してフィード権限をさらにカスタマイズすることができます。
BurndownウィジェットとBurnupウィジェットは、アカウントにAnalytics Extentionをインストールしたユーザーが利用できるようになりました。
Burndownウィジェットを使用すると、複数のチームと複数のスプリントにバーンダウンを表示できます。リリースバーンダウン、バグバーンダウン、または任意の期間にわたるちょうどあらゆる仕事の範囲に関するバーンダウンを作成するために使用することができます。さらに、チームプロジェクトにまたがるバーンダウンを作成することもできます!
Burndownウィジェットはあなたが次の質問に答えられるか、という状況を助けます:私たちは時間通りにこのプロジェクトを完了させるでしょうか?
その質問の回答ができるように、以下の機能を提供します:
- 完了までの割合を表示します。
- 平均burndownを計算します。
- ストーリーポイントで見積もられていないアイテムがある場合に表示されます。
- プロジェクトの過程でスコープの増加を追跡します。
- 過去のバーンダウンとスコープの増加傾向に基づいて、プロジェクトの完成日を計画します。
作業項目の数や特定のフィールドの合計(ストーリー・ポイントなど)に基づいて、任意の作業アイテム・タイプに変更することができます。毎日/毎週/毎月の間隔で、または繰り返しスケジュールに基づいてバーンダウンできます。さらにフィルター条件を追加して、バーンダウン作業の正確な範囲を微調整することもできます。
このウィジェットは高度に設定可能で、さまざまなシナリオで使用できます。私たちは、皆さんがこの2つのウィジェットを使用する素晴らしい方法を発見してくれることを期待しています。
BurnupウィジェットはBurndownウィジェットと似ていますが、残りの作業ではなく、完了した作業をプロットする点が異なります。
同じサインインアドレスのMSA(訳注:Microsoftアカウント)とAAD(訳注:Azure Active Directory)アイデンティティを持っているユーザーは、サインインするアイデンティティを求めるログイン中に曖昧さ回避のプロンプトを受け取ります(訳注:#AzureAD と Microsoft アカウントの重複問題に対する取り組みのこと)。多くのユーザーにとって、この選択は、MSAとAADのアイデンティティを持っていなかったか、どちらがアカウントにアクセスしているか不明であったために混乱していました。 この新しい機能を使用すると、誤ったIDを選択したユーザーは、他のIDが実際にアクセスしたことを示すエラーページを表示し、他のIDと正しいIDで直接サインインするボタンの選択ができるようになります。
マーケットプレイスは、CommonMark仕様に基づくmarkdown-itパーサーに移行し、今後発行されるすべての新しい拡張機能に使用されます。既存のVSTSエクステンションのパブリッシャーは、エクステンションページで試したマークアップコンテンツをテストし、マニフェストを変更することで新しいパーサーに移動することができます。2017年12月1日より、Marketplaceは新しい拡張機能と既存の拡張機能の両方で新しいパーサーのみを活用します。
詳細については、ドキュメントを参照してください。
これらの機能についてどう思っているかお聞きしたいと思います。 優先順位をつけたいと思っていることに関するアイデアがある場合は、新しいフィードバックメニューから問題を報告するか、提案を提出してください。
Stack Overflowでは、コミュニティからアドバイスや質問の回答を得ることもできます。
ありがとうございました。
Jamie Cool