Skip to content

Instantly share code, notes, and snippets.

@kkamegawa
Last active August 27, 2016 05:46
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/0edf3aefc221be153526f3ff8792a195 to your computer and use it in GitHub Desktop.
Save kkamegawa/0edf3aefc221be153526f3ff8792a195 to your computer and use it in GitHub Desktop.
translate to Japanese toVSTS release notes from https://www.visualstudio.com/news/2016-aug-17-vso

pull requestの全面刷新とそのほかすごくたくさんの変更 – 8/17

注意事項:この投稿で記載されている更新は今後一週間にわたって順次更新されます。
このスプリントでのたくさんの更新を紹介します。

Pull requests

このリリースにおいて、pull requestのエクスペリエンスを大きく更新し、差分比較と新しいコメントのエクスペリエンスでUIを刷新したので、本当にパワフルになりました。

UIの再デザイン

Pull requestを開くと、新しいルック&フィールになったことがすぐにわかってもらえるでしょう。私たちは経験に基づき、どのビューからでもアクセスできるようにすべての重大な状態と取りうるアクションの概要をヘッダーとしてまとめました。

Pull request header

概要

概要はPull requestの説明にハイライトさせ、フィードバックをより簡単に受けることができるようになっています。新着のアイテムを上位に表示しているため、イベントとコメントに関しては最新の変更とコメントは中央をみればいいという状態になっています。ポリシー、作業項目、レビュワーすべての詳細情報について、わかりやすく、簡潔に提供するように再配置しました。

Pull request overview

ファイル

前述のpull requestのアップデートが提供する新機能はこのリリースで最大のものです。少し前のスプリントhttps://www.visualstudio.com/news/2016-jul-7-vsoにおいて、我々はpull requestの変更のコメントを正しく追跡できる機能を提供しました。 しかし、いつでも簡単に変更の差分を見ることができるとは限りませんでした。Filesビューでは、いつでもあなたがpull requestに新しくプッシュしたコードの変更を正しく閲覧することができます。これはレビューにおいて、もしもあなたがいくつかのコードにフィードバックを与えるとき、すべてのほかの変更と分離できるので、本当に役立ちます。

Viewing changes on a pull request

Update

pull requestをどうやって見せるか、新しいUpdatesビューを長い時間をかけて変更してきました。Filesビューはファイルが変更されたことをどうやって見せるか、Updateビューはそれぞれの更新と追加されたコメントをどうやって見せるかという点に長い時間をかけました。もしも強制的にpush(訳注:git push --forceのこと)が行われたとき、Updateビューは履歴で発生した時と同様に、以前の更新を表示し続けます。

Updates view

CommitビューはUpdateビューとともに、PRが完了したときマージされる現在の変更点の表示に大変役立ちます。

コメントでmarkdownと絵文字をサポート

markdown形式を完全にサポートし、すべてのディスカッションに対して、書式、コードにシンタックスハイライト、外部リンク、イメージ、絵文字が使えるようになりました。コメントコントロールはよりユーザーフレンドリーになり、編集の操作性が向上し、一度で複数のコメントを編集および、保存できるようにもなりました。

Comments

pull requetのポリシー完了後自動的にマージする

チームがブランチポリシー(https://www.visualstudio.com/en-us/docs/git/branch-policies)でブランチを保護している場合、auto-completeアクションを確認してください。pull requestの作者は彼らのPRがマージできるかどうか調べても、ビルドが完了するまでCompleteボタンのクリックができないので、待ち続けます。ビルドが成功しても、一人のレビュワーが最終承認を与えていない場合があります。このような場合、auto-completeアクションはすべてのポリシーが承認されるとすぐ、自動的にPRを完了状態にします。

Auto-complete

手動completeアクションのように、作者はマージコミットと適切なマージオプションのメッセージをカスタマイズする可能性があります。

Selecting auto-complete options

一度auto-completeが設定されると、auto-completeが設定され、ポリシーの完了をまっているpull requestがあるという確認用バナーを表示します。

Auto-complete banner

すべてのポリシーが満たされているとき(例えば,ビルド完了や最終承認が与えられたなど)、pull requestは指定されたオプションとコメントでマージされます。予想通り、もしもビルドが失敗するとか、レビュワーが承認しない場合、PRはポリシーがすべて通過されるまでアクティブ状態のまま残ります。

Code

ブラウザからTowerを使ったGitリポジトリクローン

Team ServiceのGitリポジトリをブラウザで閲覧しているとき、"Clone with Tower"を選択して、Tower Gitクライアントでクローンできます。TowertはBetaですが、MacおよびWindows用の素晴らしいGitクライアントです。より詳細な情報は https://www.git-tower.com/を見てください。

Packages

NuGetを使わないパッケージダウンロード

Webインターフェースを使ってPackage Managementから直接ダウンロードできます。すべてのパッケージのDownloadボタンを使ってください。

Download button under Package Management

簡単に始める

大多数の一般的なPackage Managementタスクを簡単に始められるように空のフィードに接続する機能を改善しました。具体的にはパッケージの発行と復元です。右上にある"Connecto to feed"という新しい青いボタンを使ってください。

Connecting to a feed

Configuring the feed

継続的インテグレーション

buildとreleaseからジョブをJenkinsのキューに入れる

既存のJenkinsサービスフックに加えて、Team ServicesはJenkinsを統合する新しい方法を提供します。"Jenkins Queue Job"タスクはJenkinsのジョブとパイプラインをTeam Servicesのbuildとreleaseからキューに登録できます。これにより、Team Servicesでビルドして、Jenkinsでデプロイするというシナリオが可能になり、Team ServicesのGitリポジトリでの継続的インテグレーション(CI)をJenkinsで行う、もしくはTeam Servicesでのpull requestをJenkinsのジョブ検証を構成することができます。より詳細な情報はhttps://youtu.be/9F7Gmc13oDMhttps://github.com/jenkinsci/tfs-pluginを見てください。

Jenkins サービスフックの強化

JenkinsサービスフックでJenkinsのCross-Site Request Request Forgery(CSRF)をcrumbsを使ったものよりも強化しました(訳注:ここよくわかりません…JenkinsのCSRFを防ぐ方法がいくつかあるようで、そのことかなとは思います)。JenkinsのTFSプラグインにトリガーを統合したため、サービスフックはオプションになり、Team ServicesのGitコミットをJenkinsのビルドで追跡することができます。

ビルドとリリースでリモートからリモートマシンのSSHコマンドを実行する

SSHタスクはTeam Servicesのビルドとタスクの一部として、セキュアシェル(SSH)経由で、リモートマシンでのコマンド実行機能を提供します。この機能は、Dockerコンテナもしくは、Linux仮想マシンでビルド成果物の配置と検証を行い、インストールするシナリオで有効です。

より詳細な情報に関してはhttps://blogs.msdn.microsoft.com/visualstudioalm/2016/07/30/ssh-build-task/を見てください。

ビルドとリリースからアーカイブを作成する

新しい"Archive Files"というビルドタスクで、.zip, .tar, .tar.gz, and .7zなどの複数のフォーマットでファイルの圧縮およびパッケージができます。より詳細な情報はhttps://blogs.msdn.microsoft.com/visualstudioalm/2016/07/12/archive-files-build-task-for-team-services/をみてください。

ビルドとリリースからSSH経由でファイルをコピーする

“Copy Files Over SSH”タスクはTeam Servicesのビルドとリリースにおいて、secure SCPもしくはSFTPプロトコルを使用してリモートマシンにファイルコピーができます。この機能は、Dockerコンテナもしくは、Linux仮想マシンでビルド成果物の配置と検証を行い、インストールするシナリオで有効です。

ビルドとリリースでJenkins成果物をダウンロード

ビルドとリリースの“Jenkins Download Artifacts” タスクでJenkinsからTeam Servicesに成果物をダウンロードして、ビルドとリリースプロセスに使えます。この機能は、Jenkinsでビルドとテストを行い、Team Servicesで署名、パッケージング、一時的な使用、リリースを行うシナリオで有効です。より詳細な情報はhttps://youtu.be/9F7Gmc13oDMをみてください。

ビルドとリリースからFTPかFTPSでファイルアップロードを行う

Team Servicesのビルドとリリースの “FTP Upload”タスクはFTPかFTPSでファイルのアップロードができます。フォルダ構造丸ごと、ファイルパターン、厳密に選択した個々のファイルのいずれかでアップロードできます。FTPサーバーの既存のフォルダ構造を上書きするか、フラットなディレクトリ構造にするか選択できます。より詳細な情報はhttps://youtu.be/oPnVyXlku4Iを見てください。

Google Play 拡張機能の強化

Team Serviceのビルドとリリースを使ってGoogle Playストアに自動リリース、プロモーション、アプリケーションのアップデートのロールアウト機能をVisual Studio Team ServicesのGoogle Play拡張機能でサポートしました。アプリ内に複数のAPKがある場合のサポートなど、多くの改良を行いました。より詳細な情報はhttps://marketplace.visualstudio.com/items?itemName=ms-vsclient.google-playを見てください。

SonarQube解析実行時、MavenとGradleタスクがビルド概要を生成するようになりました

MavenかGradleのビルドタスクの“Run SonarQube Analysis”オプションを指定した場合、SonarQubeプロジェクトへのリンクが作成されます。これは最初のステップです。我々はビルド概要における品質ゲート結果の表示がよりリッチになるように取り組んでいます。

Build Definitions

ビルド定義の新しいUX世界にようこそ!このエクスペリエンスはあなたのビルドをケアすることに注力しています。私たちはあなたのコードの品質状態について、よりリッチに、あなたのパーソナライズされたビューになるように願っています。

Mineタブでのお気に入りとそれ以上

ここでは関心のあるビルドを見つけることに注力しています。Mineタブはあなたのお気に入り、チームのお気に入り、チェックインしたコードのビルドを見つける機能です。

Definitions, Mine

7-day pass rateですべての終了したビルドの過去一週間におけるビルドが成功した、もしくは一部が成功した割合を表示します。矢印は今日のビルドが7-day rateよりもよくなるか、悪くなった場合の状態を教えてくれます。

Queuedタブで現在と過去のビルドを表示

今直近の履歴で何が起きているのか確認したい場合、Queuedタブをみてください。

Definitions, Queued

All Definitions タブにフォルダを追加

あなたのチームが多くのビルド定義を使っているでしょうか?All Definitions tabでビルド定義をフォルダに配置できます。

Definitions, All

Manage folders

Tip:複数の定義に対して、同じ権限を一括で設定する必要があるでしょうか?フォルダに対して権限を設定して、同じフォルダに格納してください。Manage Foldersで設定できます。

ビルド詳細の強化

クリックダウンで、特定のビルドを掘り下げていくと、コード品質の全体で何が起こっているのかという情報をより詳細に確認できます。

Definition summary

Definition history

XAMLビルドの閲覧とキュー

まだXAMLビルドを使ってますか?XAMLビルドの編集と管理のためのツールはVisual Studioです。WebブラウザーのXAMLタブでビルドのキュー状態を表示します。

Work

Work item テンプレート

我々はWebブラウザで直接作業項目のテンプレート作成機能をよりリッチにしました。以前のウェブではものすごく限られていた機能で、Visual Studio Power Toolを使わなければ新しいフォームを作ることができませんでした。チームは共通のフィールドの変更を素早く行い、テンプレートの作成と管理ができます。

Work item template option

Work Itemの"フォロー外し"を簡単に

“Followed work items”ビューにおいて、コンテキストメニューからフォローしている一つ、もしくは複数の作業項目のフォロー外しができます。

添付ファイルをドラッグ&ドロップで

Work itemへのファイル添付がAttachmentタブにドラッグ&ドロップで簡単にできるようになりました。複数のファイルと添付ファイルへのコメントのサポートも追加しました。

Drag and drop work item attachment

Assigned to Me ウィジェット

ログインユーザーに割り当てられる、実行中のすべての仕事をまとめたカタログのウィジェットを追加しました。このウィジェットは、どのダッシュボードにも配置することができるため、ユーザーが「一目で」注目すべき作業について確認できます。ウィジェットは作業の種類での並び替え、フィルタリングもサポートしています。

Assigned to Me widget

ダッシュボードの権限

ダッシュボードの権限をチームメンバーに対して設定できます。ダッシュ ボードの上部にあるレンチアイコンをクリックし、希望の設定を選びます。次のオプションから選択してください。

  • チーム管理者のみダッシュボードに追加、編集、削除ができる
  • チーム管理者とメンバーがダッシュボードに追加、編集、削除ができる
  • チームメンバーはダッシュボードの編集のみできる(追加とウィジェットの構成)

Sprint Overview ウィジェット

Sprintの概要について、混乱したので、いくつか調整の必要があるというフィードバックをいただきました。ウィジェットが再デザインされ、スプリントの残り日数と未着手、仕掛中、完了を簡単に、はっきりとわかるようにしました。

Sprint Overview widget

Test

異なるテストスィートをまたいだテスト出力の構成

同じテスト計画にあるテストスィート間で共有されているテスト出力を構成できるようにしました。もしこのオプションを選択したら、テスト(Testハブ、Webランナー,Microsoft Test RunnerもしくはカンバンにあるカードにPass/Fail/Blockedがマークされる)出力は、すべてのほかのテスト配下の異なるテストスィート、同じテスト計画、同じ構成のテストに相互に反映されて出力されます。ユーザーが“Configure test outcomes”Testハブのテスト計画のコンテキストメニューもしくは、共通設定ダイアログのカンバンのテストページの特定のテスト計画のオプションが設定できます。このオプションは既定で無効であり、明示的に有効にする必要があります。

テスト実行とテスト結果の概要 - リリースと手動テスト成果物の追跡

リリースとテスト計画の概要ページでシングルクリックすると成果物にたどり着けるように、私たちはTest RunとTest Resultの概要ページにより多くのプロパティを追加しました。Releaseのワークフローでテストを実行し、ReleaeとEnvironmentsでテストを実行したとき、プロパティが表示されます。手動テストの場合、テスト計画で探してください。テストスィートとテストケースは手動テスト結果で関連付けられています。

Test run and test result summaries

Marketplace

拡張機能の取り下げ - Markeplaceから公開している拡張機能を削除する

拡張機能のMaketplaceへの公開が必要なくなったか、手違いで公開してしまった場合、削除できます。Marketplaceから拡張機能を削除するシナリオとしては以下の場合が考えられます。

  • 別の拡張機能を作って同じ機能を内包しているので、必要なくなってしまった
  • 作成した拡張機能に問題があり、問題が解決するまでMarketplaceから一時的に取り下げたい
  • 間違って拡張機能を公開状態で発行してしまった

取り下げたい場合、Marketplace publisher pageでメニューからUnpublishを選択してください。

あなたの拡張機能をMarketplaceから取り下げると、すぐに新しいユーザーはインストールできなくなります。拡張機能の評価とレビューはそのまま残ります。Marketplaceに再度公開したい場合、メニューのPublishを選択してください。

重要事項:もしも、あなたの拡張機能を法律もしくはセキュリティの問題から削除しなくてはならなくなった場合、Marketplace teamに連絡してください。我々が依頼を確認し、手動で拡張機能を削除します。

管理

上限設定 - ユーザー要求の遅れを回避する

Team Servicesは多くのSoftware-as-a-Serviceソリューションと同様に、ユーザーはマルチテナントによりコストを削減し、スケーラビリティとパフォーマンスを強化します。共有リソースの消費にスパイクがあるようなユーザーがいた場合、パフォーマンスの問題や瞬間的な停止が発生するユーザーができてしまいます。これらの問題に対処するため、我々はユーザ要求が閾値を超えて遅くなりだして、共有リソースがほかの人に危険な影響を与えないように性能上限を導入し始めています。

我々の現在の閾値は高く、典型的なユーザーが200回発生させた場合、発生します。そのため、多くのユーザーに影響があると思わないでください。ユーザーエクスペリエンスを制限する場合、ブロックではなく、遅延させます。遅延する時間は継続しているレベルによって異なります - 要求もしくは30秒あたり、わずか数ミリ秒です。もしスパイクさせているユーザーが0になった場合、もしくは共有リソースにこれ以上負荷がかからなくなった場合、遅延は5分後に停止します。もし、共有リソースのオーバーヘッドが危険な領域のまま続いていた場合、遅延は無期限に継続されます。

個々のユーザーの要求がかなりの量になったとき、メールが送られ、ユーザーのWeb UIには警告のバナーが表示されます。

Rate limiting banner

もしもユーザーにメールアドレスがない場合 - 例えば、"user"が有効なビルドサービスアカウントであった場合など - 通知メールはプロジェクトコレクションの管理者グループに送信されます。依頼が遅れた場合と同様に、設定した閾値を超えた場合にも、警告バナーと通知メールのどちらにも新しいUsageページへのリンクを含んでいます。

Usage page showing rate limiting instance

これらの変更は意図しない影響をユーザーに与えないようにゆっくりと展開されます。このページで書かれている機能がすべてのアカウントで同時に使えるとは限りません。詳細はhttps://www.visualstudio.com/en-us/docs/reference/rate-limitsをみてください。

今回のスプリントは以上です!もしもUsersVoiceにあるアイディアの優先順位を変えたい場合、ぜひ投票してください。

ありがとうございました。

Jamie Cool

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