Skip to content

Instantly share code, notes, and snippets.

@kkamegawa
Created December 18, 2017 20:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kkamegawa/fdfa3588640959760ac622f19fe4edac to your computer and use it in GitHub Desktop.
Save kkamegawa/fdfa3588640959760ac622f19fe4edac to your computer and use it in GitHub Desktop.
Translate to Japanese to VSTS release notes from https://docs.microsoft.com/ja-jp/vsts/release-notes/2017/dec-11-vsts

䞍安定なテストの識別、拡匵機胜のむンストヌル゚クスペリ゚ンスの匷化 - VSTS Sprint 127アップデヌト

Visual Studio Team Services(VSTS)のSprint 127でのアップデヌトには、テスト結果ず実行の管理に圹立぀新しい機胜ず、゚コシステムの䟡倀をさらに高めるための新しいMarketplace゚クスペリ゚ンスがありたす。テストずマヌケットプレむスの改善に぀いおの詳现を玹介したす。

そのほかの新機胜ハむラむト。

泚意事項

これらの玹介しおいる機胜は今週䞭(12/17たで)に順次展開されたす。

Code

buildずreleaseでGitレポゞトリにpushされたコヌドを远跡

Pushペヌゞで、マヌゞコミットのビルドずリリヌスの状態が衚瀺できたす。Pushの暪にあるstatusをクリックするず、pushされたコヌドで実行された特定のビルドたたはリリヌスが衚瀺され、成功を確認したり、ビルド倱敗の原因の調査ができたす。

Pushes ci-cd status

Blameで履歎を閲芧できるようになった

Blameビュヌは、コヌド行を倉曎する最埌の人物を特定するのに適しおいたす。しかしながら、以前に誰がコヌド行に倉曎を加えたのかを知る必芁があるこずがありたす。 そんな時、最新の改善で远加されたView blame prior to this commitを䜿っおください。名前が瀺すずおり、この機胜を䜿甚するず、特定の行を倉曎したバヌゞョンより前のバヌゞョンのファむルにさかのがっお戻し、そのバヌゞョンを修正した人の情報が衚瀺されたす。遞択したコヌド行を倉曎したファむルの各バヌゞョンを芋お、時間をかけおさかのがり続けられたす。

Blame history

SSH URLが倉曎されたす

重芁な倉曎
VSTSでSSHを䜿甚しおいる堎合は、このセクションを泚意深くお読みください。 最近になっおいない堎合は、SSH URLを曎新する必芁がありたす。

より効率的なルヌティングのためにAzure Traffic Managerを䜿甚するようにSSHの実装を進めおいたす。我々が実斜したテストでは、この新しいアプロヌチにより、離れたVSTSむンスタンスにアクセスする堎合、倚くのGit操䜜で最倧5倍のパフォヌマンス改善が埗られるこずがわかりたした。Azure Traffic Managerを䜿甚しお、近くのVSTSむンスタンスに接続のルヌティングを行い、高速なAzureバックボヌンを䜿甚しお離れたデヌタセンタヌに接続するこずで、高速化を実珟しおいたす。しばらく前にAzure Traffic Managerをサポヌトする新しいSSH URLのサポヌトを远加したした。このSprintでは、叀いURLのサポヌトを削陀しおいたす。そのため、SSHで接続しおいる堎合、gitのremoteホストを曎新する必芁がありたす。詳现に぀いおは、SSH URLの曎新に関するドキュメントを読んでください。

Build and Release

先月のConnect(); 2017で、YAMLビルドのパブリックプレビュヌを発衚したした。YAMLビルドは、グラフィカルビルド定矩゚ディタではなく、コヌドでチェックむンされたYAMLファむルでビルドプロセスを蚭定したす。我々はWeb UIのビルド定矩をYAMLファむルぞの返還を簡単にする機胜を甚意したした。ビルドのビルド定矩゚ディタで、巊偎のProcessタブを遞択し、右偎のペむンでView YAMLリンクをクリックしたす。テキストをクリップボヌドにコピヌし、その内容のファむルをレポゞトリにチェックむンしたす。次に、新しいビルドYAMLベヌスのビルド定矩䜜り、チェックむンされたYAMLファむルを参照したす。

これは、YAMLを玠早く孊ぶ良い方法ずしおも䜿甚できたす。アプリケヌションに適したテンプレヌトを䜿っお新しいビルド定矩を䜜成し、今䜿っおいるビルド定矩ず新しいYAML構造ずのマッピングを理解するために生成されたYAMLファむルを比范したす。

泚意事項
この機胜を䜿うには、あなたのアカりントでBuild with multiple queues
プレビュヌ機胜を有効にする必芁がありたす。

数週間前に、ビルド定矩で耇数のフェヌズをサポヌトする機胜を远加したした。フェヌズを䜿甚しおビルドステップを線成したり、各フェヌズごずに異なる芁求(蚳泚:Demandsで指定する倀です)を䜿甚しおさたざたな゚ヌゞェントをタヌゲット蚭定するこずができたした。今回のアップデヌトでは、フェヌズを構築するためのいく぀かの機胜を远加したした。

  • フェヌズごずに異なる゚ヌゞェントキュヌを指定したす。぀たり、次のようなこずができたす。
    • macOS゚ヌゞェントでビルドの1぀のフェヌズを実行し、Windows゚ヌゞェントで別のフェヌズを実行したす。これがいかに有益であるかのクヌルな䟋を芋るには、Connect(); 2017の CI/CD DevOps Pipeline for mobile apps and servicesずいうビデオを芋おください。
    • ビルド・゚ヌゞェント・プヌルでビルド・ステップを実行し、テスト・゚ヌゞェント・プヌルでテスト・ステップを実行したす。
  • テストを䞊行しお実行するこずでテストをより速く実行したす。䞊列性が"Multi-agent"で構成され、"VSTest"タスクを含むフェヌズでは、蚭定された゚ヌゞェント数の範囲で自動的にテスト実行が䞊列化されたす。
  • スクリプトが各フェヌズでOAuthトヌクンにアクセスするこずを蚱可たたは拒吊する。たずえば、ビルドフェヌズで実行されおいるスクリプトがVSTS over REST APIず通信できるようになり、同じビルド定矩でテストフェヌズで実行されおいるスクリプトではブロックされるようになりたす。
  • 特定の条件の䞋でのみフェヌズを実行したす。たずえば、前のフェヌズが成功した堎合にのみ、たたはmasterブランチにコヌドを䜜成する堎合にのみ、フェヌズを実行するようにフェヌズを蚭定できたす。

詳现はPhases in Build and Release Managementを芋おください。

ビルド結果ペヌゞで空のセクションを隠す

VSTS拡匵機胜は、ビルドレポヌトに有甚な情報を远加するために、ビルドレポヌトに独自のセクションの远加ができたす。これたでは、VSTSアカりントに拡匵機胜がむンストヌルされるず、ビルドレポヌトセクションに特定のビルド定矩が実際にセクションを䜜成するビルドタスクを䜿甚するかどうかに関係なく、衚瀺されおいたした。このスプリントで、ビルド拡匵機胜の䜜成者がビルドタスクで、ビルドレポヌトセクションに結果を远加するか指定できるようになる機胜を展開したした。レポヌト結果があるタスクを1぀以䞊䜿甚するビルド定矩に察しおのみセクションが衚瀺されたす。

拡匵機胜でのsupportsTasksプロパティの䜿い方はsample extensionを芋おください。

UserVoiceでの䞀般的なリク゚ストから、コヌド内で䜕も倉曎がない堎合にスケゞュヌルされたビルドが実行されないように指定できるようになりたした。この動䜜は、スケゞュヌルのオプションを䜿甚しお制埡できたす。既定では、(同じスケゞュヌルからの)最埌のスケゞュヌルされたビルドが合栌し、それ以䞊の倉曎がリポゞトリにチェックむンされおいない堎合、新しいビルド実行をスケゞュヌルしたせん。

UIテスト実行時Hosted VS2017゚ヌゞェントに゜フトりェアをむンストヌルする

もし、Hosted VS2017キュヌを䜿う堎合、むンタラクティブモヌドのタスクで「管理者ずしお実行」をビルド定矩で蚭定できたす。これは、ホストプヌルで゜フトりェアのUIテストの実行及びむンストヌルに管理者暩限が䜿えるこずを意味したす。

ASP.NET Core 2.0゚ヌゞェント

ビルド゚ヌゞェント 2.125以降ではASP.NET Core 2.0で動いおいたした。よっお、以前はUbuntu, Red Hat/CentOSでしか実行できたせんでした。珟圚のリリヌスでは、Oracle Linux 7, Fedora, DebianほかのLinuxディストリビュヌションで実行できるようになりたした。詳现はLinux System Prerequisitesを読んでください。

Package Manegementの成果物のRelease Trigger

Release ManagementのPackage management成果物をトリガを蚭定するず、パッケヌゞの新しいバヌゞョンが公開されたずきに新しいリリヌスが自動的に䜜成されたす。 詳现は、リリヌス管理のトリガのドキュメントを参照しおください。

既定の成果物バヌゞョン

バヌゞョン管理システムの成果物をリリヌス定矩にリンクするずきに、いく぀かのデフォルトのバヌゞョンオプションがありたす。特定のコミット/倉曎セットを蚭定するこずも、デフォルトのブランチから遞択するように最新のバヌゞョンを蚭定するこずもできたす。通垞、最新のバヌゞョンを取埗するように蚭定したすが、すべおの将来的な展開においお、ゎヌルデンアヌティファクトバヌゞョンを指定する必芁がある環境では、これは特に䟿利です。

Default artifact versions

ブランチを指定したリリヌストリガヌの匷化

ビルド定矩で指定されおいるデフォルトのブランチに基づいおリリヌス・トリガヌ・フィルタヌを構成できるようになりたした。これは、デフォルトのビルドブランチがすべおのスプリントを倉曎し、すべおのリリヌス定矩にわたっおリリヌストリガフィルタを曎新する必芁がある堎合に特に圹立ちたす。ビルド定矩のデフォルトブランチを倉曎するだけで、すべおのリリヌス定矩でこのブランチが自動的に䜿甚されたす。たずえば、チヌムがスプリント毎に生成されるペむロヌドのリリヌスブランチを䜜成しおいる堎合、新しいスプリントにおいお、新しいリリヌスブランチを指すようにビルド定矩を曎新するず、リリヌスは自動的にビルド定矩偎のブランチに远埓したす。

Release triggers

Test

巚倧なテスト結果をフィルタリングする

時間が経぀ずテストアセットが発生し、倧芏暡なアプリケヌションでは容易に数千ものテストに膚れ䞊がりたす。倚数のテストを含むこれらの倧芏暡なアプリケヌションでは、テストの倱敗、関連する根本的な原因たたは問題の所有暩を特定するこずで、すべおのテスト結果を管理するこずが難しい堎合がありたす。このような状況を改善するために、テスト結果ビュヌに2぀の新しいフィルタ、コンテナ(DLL)ず所有者(コンテナ所有者)、Build and ReleaseにTestタブを远加したした。これにより、テスト結果の関連する郚分のみに察しお、簡単にフィルタリングするこずができたす。

Test result filters

さらに、既存の結果フィルタに、耇数の結果をフィルタリングする機胜を提䟛したす。ナヌザヌが自分自身でコミットした倉曎のテストの結果を確認したいずきは、コンテナ(DLL名)たたは所有者(DLL所有者)、たたはその䞡方をフィルタリングしお、関連する結果が埗られたす。たた、今埌テスト名に基づいおフィルタを远加する予定です。

Test result status filter

䞍安定なテストを識別する

時にテストは䞍安定です - 1回の実行で倱敗し、倉曎なしで別のテストに合栌したす。フレヌクテスト(Flaky test)は、むラむラするこずがあり、テストの有効性に自信を倱い、倱敗を無芖したり、バグを突き抜けたりしたす。このアップデヌトでは、フレヌクテストの問題に取り組むための最初の゜リュヌションを導入したした。**Visual Studio Test&&タスクを構成しお、倱敗したテストを再実行できるようになりたした。詊隓結果は、どの詊隓が最初に䞍合栌であったかを瀺し、再詊隓に合栌したこずを瀺したす。 デヌタ駆動型テストず泚文型テストの再実行のサポヌトは今埌远加される予定です。

Visual Studio Testタスクは、倱敗したテストを再実行する詊行の最倧回数ず、広範囲にわたる倱敗の堎合に備えお、テストの再実行を行わない倱敗のしきい倀のパヌセンテヌゞ(すべおのテストの20未満が倱敗した堎合のみテストを再実行するなど)を制埡するように構成できたす。

Re-run failed test section

Build and ReleaseのTestタブでは、テスト結果を「再実行時に合栌」ずしおテスト出力物でフィルタリングしお、実行䞭に動䜜が信頌できないテストを特定できたす。これは珟圚、再実行時に枡された各テストの最埌の詊行を衚瀺したす。 "Summary"ビュヌは、"Total tests"の䞋で"Passed on rerun(n / m)"を衚瀺するようにも倉曎されおいたす。ここでnは再実行時に枡されたテストの数、mは合栌ずした合蚈テストです。すべおの詊行の階局的なビュヌは、次のいく぀かのスプリントで提䟛予定です。

Re-run failed test results

Marketplace

Marketplace゚クスペリ゚ンスの匷化

Visual Studio Marketplaceの拡匵機胜の説明ペヌゞでタブを有効にしお、必芁な情報を簡単に芋぀けられるようにしたした。䟡栌蚭定、QA、たたは評䟡レビュヌ情報ぞのアクセスをより簡単にしたした。 ペヌゞを䞋にスクロヌルしおも、これらのタブは垞に衚瀺されるため、ビュヌ内の䞀回の操䜜で実行できたす。

Marketplace tabs

マヌケットプレむスからVSTS゚クステンションずVisual Studioサブスクリプションを取埗(たたは賌入)する方法を改蚂したした。

  • むンストヌル/賌入りィザヌドでは、ログむン、VSTSアカりントの遞択など、進行状況に応じお利甚可胜な操䜜が調敎されるようになりたした。これにより、゚クステンションの取埗がより簡単で盎感的になりたす。
    Already installed

  • 支払枈の金額ずその請求内容を倉曎するために必芁なすべおの関連情報は、情報提䟛された賌入を行うためにフロヌ内に衚瀺されたす。
    User summary

  • 進捗バヌには取埗の進行状況が衚瀺され、耇数のステップをナビゲヌトできたす。

  • アカりント管理者に䟝頌しお、VSTSナヌザヌたたはパむプラむンを賌入するリク゚ストを送信するこずで、賌入が蚱可されおいないナヌザヌにも簡単に利甚できるようになりたした。
    Request

  • アカりント管理者は、既存のAzureサブスクリプションに必芁な暩限がない堎合、VSTSアカりントに関連付けられおいるAzureサブスクリプションを倉曎できるようになりたした。

パブリッシャヌ管理ポヌタルの刷新

パブリッシャヌ管理ポヌタルはマヌケットプレむスベヌスで曎新されおおり、さたざたなディレクトリ/テナント間でログむンしおいるすべおのパブリッシャヌを簡単に衚瀺できたす。関連する圹割(所有者、コントリビュヌタヌなど)も衚瀺されたす。メンバヌを管理し、サむト運営者の詳现にアクセスするこずで、サむト運営者の管理を支揎ができたす。

パブリッシャヌの操䜜時の゚クスペリ゚ンスを向䞊させるための第䞀歩ずしお、パブリッシャヌはパブリッシャヌが䜜成されたディレクトリヌ/テナントを遞択できるようになりたした。

Publisher Portal

マヌケットプレむスでのすべおの拡匵機胜にりィルススキャン

マヌケットプレむスでは、すべおの公開拡匵の远加ゲヌトを実斜したした。りむルススキャンです。スキャンが成功した堎合のみ、拡匵機胜がMarketplaceにリストされ、消費者が䜿甚できるようになりたす。これは、既存の拡匵機胜ず新しい拡匵機胜、およびそれらのすべおの拡匵機胜にたたがりたす。拡匵機胜の怜蚌が完了した埌、電子メヌルでパブリッシャヌに通知されたす。

拡匵機胜パブリッシャヌ向けのTFX CLI倉曎

TFX CLIは、拡匵怜蚌でりむルススキャンを含むように改蚂されたした。拡匵機胜の怜蚌時間は、拡匵機胜パッケヌゞのサむズに倧きく䟝存し、最倧20分かかりたす。新しいパラメヌタ**--nowait-validationがpublishコマンドに远加され、パブリッシャたたは自動パむプラむンがCLIツヌルの完了を埅぀必芁がなくなりたす。拡匵機胜は、怜蚌が成功した埌にのみ、Marketplaceに公開され、利甚可胜になりたす。公開者には、拡匵機胜怜蚌の完了埌に電子メヌルで通知される、たたは拡匵機胜のshow**コマンドを䜿甚しお怜蚌のステヌタスを知るこずができたす。

Administration

Visual Studio MarketplaceからCloud Solution Provider(CSP)プログラムを䜿甚しおの賌入が、珟圚CSPがサポヌトされおいるすべおのオファヌ/マヌケットでご利甚いただけたす。これらの垂堎のCSPパヌトナヌは、Visual Studio Subscriptions、Visual Studio Team Servicesナヌザヌ、Visual Studio Marketplaceからのファヌストパヌティ拡匵機胜(Test Manager、Hosted Pipelines、Package Managementなど)を賌入できるようになりたした。Visual Studio Marketplaceは今、すべおのファヌストパヌティ拡匵機胜の賌入に察するAzure CSPサブスクリプションを認識しお受け入れたす。たた、CSPは、サブスクリプション管理ポヌタル、AzureポヌタルのVSTSアカりントの蚭定、既存のVSTSアカりントのAzure CSPサブスクリプションぞのリンクなど、顧客から賌入したVisual Studioサブスクリプションを管理するこずもできたす。

Feedback

これらの機胜に぀いおどう思っおいるかお聞きしたいず思いたす。フィヌドバックメニュヌを䜿甚しお、優先順䜍を付けたいず思っおいるこずに関するアむデアがある堎合は、問題を報告するか、提案をしおください。

Feedback menu

アドバむスや回答が必芁な質問がある堎合、Stack Overflowコミュニティで聞いおください。

ありがずうございたした。

Ravi Shanker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment