Team Foundation Server 2017 Update 1 リリース ノート


Developer Community | システム要件と互換性 | ライセンス条項 | TFS DevOps ブログ | SHA-1 ハッシュ | 最新の Visual Studio 2019 リリース ノート


Note

これは、Team Foundation Server の最新バージョンではありません。 最新のリリースをダウンロードする場合は、Team Foundation Server 2018 Update 3 の最新のリリース ノートを参照してください。 ページ フッターにある地球アイコンをクリックし、目的の言語を選択すると、このページの言語を変更できます。


この記事では、Team Foundation Server 2017 Update 1 に関する情報を紹介します。 ボタンをクリックしてダウンロードします。

Team Foundation Server 2017 Update 1 のダウンロード

Team Foundation Server 2017 の詳細については、Team Foundation Server の要件と互換性に関するページを参照してください。

詳細については、TFS のインストール ページを参照してください。


リリース ノート アイコンリリース日: 2017 年 3 月 7 日

Team Foundation Server 2017 Update 1 の新機能の概要


Team Foundation Server 2017 Update 1 の新機能の詳細

より自由なカスタマイズ

個人用のコレクション ホーム ページ

このリリースでは、最も重要な成果物へのアクセスが簡単になりました。 再設計されたコレクション ページ (図 1) は、自分が関心のあるプロジェクト、お気に入り、作業、および Pull Requests が表示されるようにカスタマイズすることができます。 アクセスする場所が 1 か所で済むため、必要な作業内容や関心のある内容をすばやく見つけることができます。 詳細については、アカウント ハブ ページに関するページを参照してください。

再設計されたコレクション ページ
(図 1) 再設計されたコレクション ページ

プロジェクト ID を取得する

プロジェクトの概要を 1 か所で確認できるようになりました。 新しいプロジェクト ページでは、プロジェクト説明の表示と編集、メンバーの表示と追加、最新のアクティビティの確認を簡単に行うことができます。 また、新しいプロジェクトの開始や TFS の組み込み DevOps 機能のフル活用もより簡単になります。

バージョン コントロールの機能強化

リポジトリ管理者のアクセス許可変更

Git リポジトリの管理者アクセス許可をより細かな権限に分割しました。 誰がどのアクションを実行するのか、より柔軟に決定できます。 たとえば、アカウントの全員に新しいリポジトリの作成を許可するが、リポジトリを削除することや新しいユーザーをリポジトリに追加することは禁止したい場合があります。 新しいアクセス許可は次のとおりです。

  • アクセス許可の管理: ユーザーとアクセス許可を追加/削除できます。
  • 作成: 新しいリポジトリを作成できます。
  • 削除: リポジトリを削除できます。
  • 名前の変更: リポジトリの名前を変更できます。
  • ポリシーの編集: 分岐ポリシーを構成できます。
  • 他のユーザーのロックの削除: 別のユーザーが設定した分岐ロックを削除できます。

これらのアクセス許可は、あるプロジェクトのすべてのリポジトリに適用するか、個々のリポジトリに適用できます。

分岐ポリシーの改善

ポリシー セクション (図 2) で、必須のポリシーと任意のポリシーがグループ化され、各セクションに分けられました。 PR を完了するために必要なポリシーがわかりやすく表示されます。 必須セクションには必要なレビューもまとめられています。校閲者全員が承認した場合にのみ、合格の印が付きます。

[ポリシー] セクション
(図 2) ポリシー ページ

ポリシーをバイパス (迂回) する必要がある (そのために必要なアクセス許可が与えられている) ユーザーに対する [完了] ダイアログの表示が新しくなりました (図 3) 。 準拠されていないポリシーが警告メッセージに表示され、ポリシーのオーバーライドを明示的に選択する新しいオプションが提示されます。 オーバーライドするオプションを選択すると、オーバーライドと完了アクションが有効になり、PR が完了し、準拠していないポリシーがオーバーライドされます。

[完了] ダイアログ
(図 3) 完了ダイアログ

必要なレビュー担当者ポリシーでのファイル除外のサポート

特定のファイル パスに必要なレビュー担当者を指定する場合に、除外するパスに "!" プレフィックスを使用して、パスを除外できるようになりました。 たとえば、通常は必要になるサインオフから docs フォルダーを除外する場合にこれを使用することができます (図 4)

ファイル除外のサポート
(図 4) ファイルの除外のサポート

リポジトリのインポート

GitHub、BitBucket、GitLab、または他の場所から Git リポジトリをインポートできるようになりました。 新しいリポジトリまたは既存の空のリポジトリにインポートしてください。 詳細については、Git リポジトリのインポートに関するページを参照してください。

リポジトリ作成時に .gitignore を追加する

新しい Git リポジトリを作成するときに、.gitignore ファイルを追加してリポジトリに関連付けられるようになりました。 .gitignore ファイルでは、コミットの実行中に Git で無視するファイルを指定します。

ダイアログ ボックスでは、多くの使用可能な .gitignore テンプレートのいずれかを選択することができます (図 5)

リポジトリの作成時に .gitignore を追加する
(図 5) リポジトリ作成時に .gitignore を追加する

チェリーピックおよび元に戻す機能

次の 2 つの新機能が追加され、Web ポータルからより簡単に変更を移植または元に戻せるようになりました: チェリーピックおよび元に戻す。

cherry-pick コマンドを使用することで、pull request の変更を複数の分岐に移植できます。 一般的なユース ケースは、バグの発生時に修正プログラムを実行する必要があり、メインラインでも修正が必要な場合です。 修正を含む pull request を作成して修正プログラムの分岐に移植したら、メイン ブランチに同じ修正を簡単にチェリーピックすることができます。 詳細については、チェリーピックによる変更のコピーに関するページを参照してください。

完了した PR の変更を元に戻すことができます。 不適切に変更された PR を見つけ、 [元に戻す] をクリックし、手順に従って望ましくない変更を元に戻す PR を作成します。 詳細については、Git を使用して変更を元に戻す方法に関するページを参照してください。

構成可能な比較分岐

既定の分岐以外にも比較分岐を設定できるようになりました。 この設定はユーザーごとに保持されます。 [分岐] ページから作成された新しい分岐と pull request は、比較分岐として設定した分岐に基づいています。 詳細については、分岐のマージに関するページを参照してください。

ファイルまたはフォルダーの検索

Team Services プロジェクトの [コード] ハブを使用して、リポジトリでファイルまたはフォルダーをすばやく検索することができます。 結果には、後ろにリポジトリ全体のファイルとフォルダーが続く現在のフォルダーからの項目がリストされます。

Git リポジトリの場合は、パス コントロール ボックス (図 6) に移動し、入力を開始して、検索対象のファイルまたはフォルダーのナビゲーション検索エクスペリエンスを開始します。

ファイルまたはフォルダーを検索する
(図 6) ファイルまたはフォルダーの検索

リポジトリの削除の確認

リポジトリを誤って削除しないように、削除対象のリポジトリの名前を入力して削除の確認を求められるようになりました。

リポジトリのお気に入り

最も頻繁に使用するリポジトリをお気に入りに追加できるようになりました。 リポジトリ ピッカー (図 7) では、 [すべてのリポジトリ][お気に入り] のタブが表示されます。 星をクリックすると、お気に入りの一覧にリポジトリが追加されます。

リポジトリのお気に入り
(図 7) リポジトリのお気に入り

コミット履歴でファイルまたはフォルダーを検索する

[ファイル] タブと同様に、ユーザーはリポジトリでファイルまたはフォルダーを検索し、そのファイルまたはフォルダーのコミット履歴を表示できるようになりました。 Git リポジトリの場合は、[履歴] タブ (図 8) のパス コントロール ボックスに移動し、入力を開始して、検索対象のファイルまたはフォルダーの履歴検索エクスペリエンスを開始します。

コミット履歴
(図 8) コミットの履歴

コミット ページの機能拡張

コミットの詳細ページとコミットの履歴ページを新しくし、効率よく使用できるようにしました。 コミットに関する重要な情報を概観から見つけて実行できるようになりました。

コミットの詳細ページの例を以下に示します (図 9)

コミットの詳細
(図 9) コミットの詳細

コミットの履歴ページを以下に示します (図 10)

コミット履歴ページ
(図 10) コミットの履歴

分岐でのコミットの検索

コミットの詳細ページにある [Search in branches] (分岐で検索) ボタンをクリックすることで、指定された分岐またはタグでコミットを検索できるようになりました (図 11)

コミット検索
(図 11) コミットの検索

ウィンドウでタグと分岐を選択し、これらの分岐とタグに特定のコミットが含まれていない場合でも、確認することができます (図 12)

[コミット検索] ダイアログ
(図 12) コミットの検索ダイアログ

ディスカッション コントロール ツール バー

マークダウンは pull request にコメントを追加するための強力なツールですが、構文を覚えるのが大変です。 この操作を簡単にするために、ディスカッション コントロールにツールバーを追加しました (図 13) 。 これで、適切なマークダウン構文を挿入して一般的な書式を追加できるようになります。 見出し、太字体、斜体、リンク、コード、リストはすべて、新しいツール バー コントロールを利用して追加できます。@ や # メンションのような機能もツール バーで入力できます。 キーボード ショートカットが太字体 (CTRL + B)、斜体 (CTRL + I)、リンクの作成 (CTRL + K) で使用できます。

ディスカッション ツール バー
(図 13) ディスカッション ツール バー

PR コメントの改善

PR の新しいコメントを簡単に見つけられるように、既存のディスカッション スレッドの新しい返信に装飾を追加しました。 ファイル ビューのコメントでも、新しいコメントが含まれるスレッドが強調表示されます (図 14)

PR コメント
(図 14) PR コメントの改善

コミットの PR の表示

コミットの詳細ページに、あるコミットに関連付けられているすべての pull requests を閲覧できます。 下の画像 (図 15) では、次のことを確認できます。

  • 関連付けられている pull request ドロップダウンで、このコミットに 2 つの pull request が関連付けられています。
  • Pull request #2 はこのコミットをマスターに届けました。
  • 同じコミットが pull request #1 を経由して分岐 4 に届けられました。
コミット内の PR
(図 15) コミットの PR

pull request のフォロー

pull request をフォローし、電子メール アラートを使用して、変更が生じた場合に常に通知できるようになりました。 コンテキスト メニューで、必要に応じてフォローを使用できます (図 16)

pull request に従う
(図 16) pull request のフォロー

Pull request マージの再開

さらにオプションが追加され、ターゲット分岐が更新されている場合に pull request のマージが再試行されるようになりました。 この [マージの再開] オプションは、ターゲット分岐が最近変更されたために競合が発生していないか、あるいは PR ビルドが壊れていないかを確認する場合に役立ちます。

拒否された pull requests では完了できない

コード レビュー ポリシーが設定されている分岐では、1 人以上のレビュー担当者が PR を拒否した場合、その PR は完了できないことが示されます。 多くのユーザーがこの動作を求めているため、既定の動作が変更されました。 元の動作を必要とするチームのために、分岐ポリシー設定ページには新しいオプションが用意されています (図 17)

コード レビュー ポリシー
(図 17) コード レビュー ポリシー

Pull request の説明のマークダウン

マークダウンを使用すれば、pull request の説明を少し面白いものにすることができます。 Pull reques tコメントで使い慣れた同じマークダウン サポートを、pull request の説明でも使用できるようになりました。

PR ディスカッションの添付ファイル

Pull request コメントに添付ファイルを追加できるようになりました (図 18) 。 ドラッグ アンド ドロップまたは参照することで、添付ファイルを追加することができます。 イメージの場合、クリップボードから貼り付けるだけで、添付ファイルが追加されます。 添付ファイルを追加すると、自動的にコメントが更新され、新しい添付ファイルへのマークダウン参照が追加されます。

PR ディスカッションの添付ファイル
(図 18) PR ディスカッションの添付ファイル

更新された PR の強調表示

pull requests の更新情報の表示が以前より簡単になりました。 PR リスト ビュー (図 19) には、最後に確認してから変更が加えられた PR が新しい更新列と共に表示され、変更のロールアップが示されます。

PR で更新されたファイル
(図 19) PR の更新ファイル

変更がある PR を表示すると、概要に同様の概要メッセージが表示されます。 また、新しいプッシュおよびコメント スレッドが青色で強調表示されます (図 20)[View code updates] (コードの表示の更新) リンクをクリックすると、 [ファイル] ビューに移動し、pull request を最後に表示してから加えられた新しい変更の差分が示されます。 この機能を使用すれば、作成者がフィードバックに応じて変更を加えた PR を簡単にフォローアップすることができます。

PR の概要
(図 20) PR の概要

PR マージ戦略の分岐ポリシー

新しい分岐ポリシー (図 21) が追加され、分岐ごとに pull requests をマージするための戦略を定義できるようになりました。 これまでは、PR が完了した時点で、マージするかスカッシュするかを決定していました。 有効にすると、このポリシーでユーザーの設定がオーバーライドされ、ポリシーによって設定された要件が適用されます。

ブランチ ポリシー
(図 21) 分岐ポリシー

マージ競合情報の公開

pull request に競合するファイルがある場合、その競合の詳細が概要に表示されるようになりました (図 22) 。 競合する各ファイルは、ソース分岐とターゲット分岐間の競合の種類の短い要約と共にリスト表示されます。

マージの競合
(図 22) マージの競合

マークダウンのプレビュー ボタン

コミット、プッシュ、または pull request でのマークダウン ファイルの差分を表示する際に、結果としてレンダリングされるビューを簡単に切り替えられるようになりました。

作業項目トラッキングの機能強化

スコープ設定された ID フィールドの検索機能の向上

このリリースでは、スコープ設定された ID フィールド (特定のユーザー グループのみに割り当てを許可するよう構成された ID フィールド) に対する ID 選択コントロールの動作が更新されています。 更新された動作では、選択コントロールの MRU 一覧と検索結果に、コレクションの有効なユーザーがすべて表示されるのではなく、構成されたグループのメンバーのみが表示されます。

ビルドの機能強化

ビルド定義のロールバック

ビルド定義を以前のバージョンにロールバックすることができます。 ビルド定義を編集しているときにロールバックを実行するには、 [履歴] タブを開きます。

ビルドのソースの同期とチェックアウトを無効にする

必要に応じて、Git の自動ソース同期とチェックアウトを無効にすることができます。 これにより、エージェントの組み込み動作に依存することなく、タスクまたはスクリプトでソース操作を処理することができます。 Source.Version、Source.Branch および Build.SourcesDirectory などの標準的なソースに関する変数はすべて設定されます。

Git の浅い複製と git-lfs

ビルド エージェントで、Git の浅い複製と git-lfs がサポートされるようになりました。 詳細については、ビルド定義のリポジトリに関するページを参照してください。

ビルドとリリース定義のタスクのバージョン管理

ご利用のビルドまたはリリースで実行するタスクのメジャー バージョンをユーザーが管理できるようになります。 この変更により、エージェントとタスクのバージョンの自動更新が原因で発生していた予期しないエラーが減少します。 ここでは、定義の [ビルド] タブ、またはリリース定義の [環境] タブで、タスクのメジャー バージョンを指定します。

マイナー バージョン (1.2 から 1.3 など) のリリース時に、ビルドでの変更は自動的に行われます。 ただし、新しいメジャー バージョン (2.0 など) がリリースされた場合、定義を編集し、手動で新しいメジャー バージョンに変更しない限り、ビルドはバージョン 1.3 にロックされたままになります。 ビルド定義のフラグは、新しいメジャー バージョンが存在することを知らせるものです。

Package Management に必要な支払い

パッケージ管理の利用を続行するには、Visual Studio Enterprise サブスクリプションとパッケージ管理ライセンスのいずれかを Marketplace で購入する必要があります。 パッケージ管理のライセンスに関する詳細はここをご覧ください。

パッケージの機能強化

パッケージ管理のリリース ビュー

Package Management にリリース ビューという新しい機能が追加されました (図 23)。 リリース ビューでは、リリース ビューに昇格したご利用のフィードのパッケージ バージョンのサブセットが示されます。 リリース ビューを作成し、パッケージのコンシューマーと共有することで、依存するバージョンを制御することができます。 これは、更新されたパッケージ バージョンを頻繁に発行する場合に、発行した各バージョンの発表やサポートは行わない継続的な統合シナリオで特に役立ちます。

この機能を使い始めるには Web アクセスでクイック スタートを探すか、パッケージ CI/CD のリリース ビューに関する情報をご覧ください。

パッケージ管理のリリース ビュー
(図 23) リリース ビュー

パッケージ管理の npm

パッケージ管理フィードで、Node.js および JavaScript 開発用の npm パッケージがサポートされるようになりました。 さらに、npm フィードでは "キャッシュのアップストリーム ソース" として npmjs.com がサポートされています。このオプションを有効にすると、ご利用のフィードで npmjs.com からのパッケージが透過的にプロキシされ、キャッシュされます (「Use packages from npmjs.com」 (npmjs.com のパッケージを使用する) を参照してください)。つまり、npmjs.com から特定の package@version を取得するのが一度で済み、そのパッケージに対する今後の要求は TFS サーバーから直接処理されることになります。 npmjs.com からパッケージが削除されても、キャッシュされたバージョンを TFS から取得することができます。

まず、 [フィードに接続] ダイアログで新しい npm オプションを探します (図 24)

パッケージ管理の npm
(図 24) パッケージ管理の npm

クロス プラットフォームの機能強化

Xcode ビルド タスクの xcpretty フォーマット

xcpretty を使用して、xcode ビルドの出力を書式設定できるようになりました (図 25)。 また、xcodebuild で Team Services に JUnit テスト結果を発行することもできます。 これまでは、テスト結果を発行する際にビルド ツールとして xctool を使用する必要がありました。 これからは、xcpretty を有効にする場合に、Xcode タスクの [詳細設定] セクションにある [xcpretty の使用] チェック ボックスをオンにし、 [xctool の使用] チェック ボックスをオフにします。

Xcode ビルドの書式設定
(図 25) Xcpretty の書式設定

Jenkins テストとコード カバレッジの結果を発行する

Jenkins キュー ジョブのビルドとリリース タスクで、Jenkins ジョブまたはパイプラインからテストとコード カバレッジの結果を取得できるようになりました。 その場合、Jenkins サーバーに Jenkins 5.2.0 以降用の TFS プラグインをインストールし、ビルド後に TFS/Team Services 用に結果を収集するように構成する必要があります。 結果を Jenkins から取得したら、テスト結果の発行またはコード カバレッジの発行ビルド タスクによって発行することができます。

Xcode ビルド タスクでの Xcode 8 による署名とパッケージのエクスポート

Xcode タスクでは、Xcode 8 自動署名を使用するプロジェクトのビルドがサポートされるようになりました (図 26) 。 証明書をインストールして、ビルド サーバーのプロファイルを手動でプロビジョニングすることができます。また、 [ファイルの内容] オプションを指定し、タスクを実行してインストールすることもできます。

Xcode の自動署名
(図 26) Xcode の自動署名

Xcode 8 では、アーカイブ (.xcarchive) からアプリ パッケージ (IPA) をエクスポートする際に、エクスポート オプションの plist (図 27) を指定する必要があります。 Xcode タスクでは、Xcode 8 または Xcode 7 を使用している場合に、エクスポート メソッドが自動的に特定されるようになりました。 ユーザーがエクスポート メソッドを指定することも、Xcode タスクからカスタムの plist ファイルを指定することもできます。 Xcode 7 より古い Xcode バージョンを使用している場合、タスクはフォールバックして、古いツール (xcrun) を使用してアプリ パッケージが作成されます。

Xcode エクスポート オプション
(図 27) Xcode のエクスポート オプション

テストの機能強化

Visual Studio 2017 でビルドしたテストの実行

CI/CD パイプライン (図 28)テスト エージェントの配置タスクや機能テストの実行タスクを利用し、Visual Studio 2017 のテスト エージェントをインストールし、Visual Studio 2017 で作成したテストを実行できるようになりました。

テストを実行する
(図 28) テストの実行

作業項目からのバグの検証

バグを特定したテストを再び実行してバグを検証できるようになりました (図 29) 。 バグの作業項目フォーム コンテキスト メニューの検証オプションを呼び出して、Web ランナーで関連するテスト ケースを開始できます。 Web ランナーを使用して検証を実行し、Web ランナーで直接バグ作業項目を更新します。

作業項目からのバグを確認する
(図 29) 作業項目からのバグの検証

テスト ステップ操作の REST クライアント ヘルパー

REST クライアントに追加されたヘルパー クラス (RestApi-Sample を参照) を使用して、テスト ケース作業項目でテスト ステップとテスト ステップの添付ファイルを作成、変更および削除できるようになります。

Web ランナーでの既存のバグの更新

Web ランナーでは、新しいバグの作成に加えて、既存のバグを更新することもできるようになりました (図 30) 。 収集された診断データ、再現手順、現在のセッションからの追跡可能性に関するリンクはすべて、既存のバグに自動的に追加されます。

テスト ランナー
(図 30) 既存のバグの更新

Web ランナーでのテスト ケースの説明

テスト ケースの説明フィールドは、テスト ケースの実行を開始する前に満たす必要がある前提条件をキャプチャするためによく使用されていました。 この更新プログラムでは、ユーザーは [説明を表示] オプションを使用して、Web ランナーでテスト ケースの説明情報を表示できるようになりました (図 31)

テスト ケースの説明
(図 31) テスト ケースの説明

テスト ハブの貢献ポイント

[テスト計画] ハブ内に新しい貢献ポイント ("ms.vss-test-web.test-plan-pivot-tabs") (図 32) が追加されました。これにより、開発者は、 [テスト] および [グラフ] タブの横に表示される、ピボット タブとして拡張機能を作成することができます。

コントリビューション ポイント
(図 32) 貢献ポイント

テスト成果物を削除する

このリリースより前のバージョンでは、削除オプションは作業項目に限定されていました。 この更新プログラムでは、作業項目フォーム コンテキスト メニューの [完全に削除] オプション (図 33) を使用して、[テスト] ハブと [作業] ハブの両方からテスト成果物 (テスト計画、テスト スイート、テスト ケース、共有パラメーターおよび共有ステップ) を完全に削除できるようになります。

テスト成果物を削除する
(図 33) テスト成果物の削除

テスト計画のお気に入り

最も頻繁に使用するテスト計画をお気に入りに追加できるようになりました。 [Test Plans] ピッカーには、すべてのテスト計画およびお気に入りに対応するタブが表示されます "(図 34)"。 星のアイコンをクリックすると、お気に入りの一覧にテスト計画が追加されます。 お気に入りに追加されたテスト計画には、[テスト計画] ピッカーと、新しいアカウント ホーム ページの [お気に入り] タブからアクセスできます。 また、タイトル フィールドで検索し、テスト計画をフィルターすることもできます (図 35)

テスト 計画
(図 34) テスト計画
お気に入りをテストする
(図 35) テストのお気に入り

管理対象自動テストのテスト影響分析

マネージド自動テストのテスト影響分析を、バージョン 2.* (プレビュー) バージョンの VSTest タスクのチェック ボックスで使用できるようになりました (図 36)

テスト影響分析
(図 36) テスト影響分析

有効な場合、特定のコード変更を検証するために必要な、関連する一連の管理対象自動テストのみが実行されます。 テスト影響分析には最新バージョンの Visual Studio が必要になります。現在、管理対象自動テスト用の CI でサポートされています。

Firefox 用のテストとフィードバック拡張機能のサポート

Firefox の Test & フィードバック拡張機能の一般提供についてお知らせします。 marketplace サイトから Firefox アドオンをダウンロードすることができます。

注: Edge ブラウザーのサポートも準備中です。次の更新プログラムまでしばらくお待ちください。

リリース管理の機能強化

リリースでの変数グループのサポート

変数グループは、変数とその値をグループ化し、複数のリリース定義にわたって利用できるようにするために使用されます。 変数グループのセキュリティを管理したり、リリース定義の変数グループから変数を表示し、編集したり、使用したりすることもできます。

ビルドとリリース ハブの [ライブラリ] タブを開き、ツール バーの [+ 変数グループ] を選択します (図 37) 。 現在のところ、変数グループはリリース定義でのみ使用されています。 変数グループの Microsoft リリース管理のリリース定義に関する詳細をご覧ください。

下図のように、変数グループを作成 (図 37) して編集 (図 38) します。

変数グループを作成する
(図 37) 変数グループの作成
変数グループの編集
(図 38) 変数グループの編集

リリースの複数のスケジュール

1 日に何度も作成するようにリリースをスケジュールしなくて済むように、 リリース定義でスケジュールされた複数のトリガーを構成できるようになりました (図 39)

リリース スケジュール
(図 39) リリースのスケジュール

ビルドとリリースのインライン サービス接続

この機能を使用すれば、 [サービス] タブに移動しなくても、ビルド/リリース定義でサービス接続をすぐに作成することができます。これは、Docker、Jenkins、VMWare、SCVMM などの、宣言的に定義されているすべての拡張機能で自動的に有効になります。

これまでは、リリース定義でリンクできるのは、現在のプロジェクトからの成果物ソースのみでした。 これからは、別のプロジェクトからもビルド成果物 (図 40) をリンクできます。 成果物のリンク時に、プロジェクトのドロップダウンにアカウントのすべてのプロジェクトがリストされます。

ビルド成果物をリンクする
(図 40) ビルド成果物のリンク

Azure リソース グループの機能強化

このリリースより前のバージョンでは、Azure リソース グループ タスクでは、ARM テンプレート構文や、リソースを実際に展開せずに受け入れられるかどうかを検証できませんでした。 この機能強化により、検証のみという新しい展開モードを使用できるようになりました。これで、実際に Azure リソースを作成する前にテンプレートの作成に関する問題を見つけることができます。

さらに、Azure リソース グループ タスクでは、増分または完全な展開も使用できるようになりました (図 41) 。 以前のタスクでは増分モードを使用して ARM テンプレートが展開されました。 ただし、リソース グループに存在するリソースのうち、テンプレートに指定されていないものは変更されません。 完全モードでは、テンプレートに含まれていないリソースが削除されます。 既定は増分モードです。

Azure リソース グループ
(図 41) Azure リソース グループ

Azure CLI タスク

新しい Azure CLI タスク (図 42) では、Windows、Linux および Mac などのクロス プラットフォーム エージェントでの Azure CLI コマンドの実行がサポートされます。 このタスクでは、クラシックと ARM の両方のサブスクリプションがサポートされます。 スクリプトの 2 つのプロビジョニング モード (1 つはリンクされた成果物、もう 1 つはインライン スクリプトとして) がサポートされます。

Azure CLI タスク
(図 42) Azure CLI タスク

Code Search の更新

TFS 2017 Update 1 では、コード検索サービスに Elasticsearch バージョン 2.4.1 が含まれています。 Code Search サービスが TFS 2017 を実行するサーバー上で構成されている場合、TFS のアップグレードの一部として、Code Search サービスが更新されます。 コード検索サービスがリモート サーバーで構成されている場合は、インストーラーに付属する検索サービス パッケージの内容をリモート コンピューターにコピーし、readme ファイルの指示に従って、手動で検索サービスをアップグレードします。

コード洞察の機能強化

SonarQube MSBuild タスク

SonarQube MSBuild タスクが、SonarSource によって提供される拡張で使用できるようになりました。 詳細については、「SonarSource have announced their own SonarQube Team Services / TFS integration」 (SonarSource が独自の SonarQube Team Services / TFS 統合を発表) を参照してください。

管理の機能強化

新しい通知設定の操作

通知は、チームが Team Services プロジェクトでのアクティビティを常に把握するのに役立ちます。 この更新プログラムでは、ご自分とご自分のチームが受け取る通知をより簡単に管理できるようになりました。

通知設定を管理するアカウントレベルの機能がプロファイル メニューに追加されました (図 43)

通知設定
(図 43) 通知設定

このビューでは、作成した個人のサブスクリプションを管理できます (図 44) 。 アカウント内のすべてのプロジェクトのチーム管理者によって作成されたサブスクリプションも表示されます。

個人用サブスクリプションを管理する
(図 44) 個人のサブスクリプションの管理

個人の通知設定の管理の詳細については、こちらを参照してください。

TfsConfig への addProjectReports の追加

コマンド addProjectReports を使用して、レポートをチーム プロジェクトに追加できるようになりました。 これは、以前はパワー ツールのコマンドでしたが、TfsConfig.exe コマンドに追加されました。 詳細については、「Upload reports to a team project (チーム プロジェクトへのレポートのアップロード)」を参照してください。

チーム ルームの廃止

SlackMicrosoft Teams など、TFS および Team Services とも問題なく統合できる優れたソリューションが非常に多く存在するため、TFS と Team Services の両方のチーム ルーム機能を廃止することにしました。 Team Services で作業を行う場合、計画を伝える新しい黄色のバナーが表示されます。 今年中には、チーム ルーム機能を完全に無効にする予定です。

使用できる代替方法がいくつかあります。 チーム ルームは通知ハブとチャットの両方で使用されます。 TFS と Team Services は、 Microsoft TeamsSlack などの他の多くのコラボレーション製品と既に統合されています。 Zapier を使用して、独自の統合を作成することも、表示する通知を非常に細かく制御することもできます。

チーム サービスのチーム ルームの廃止に関する詳細をここでご覧ください。

Update 1 では、ウェルカム ページ、チーム ダッシュボードのマークダウン ウィジェット、およびかんばんボードの完成の定義でマークダウンのファイル リンクがサポートされなくなりました。 回避策として、マークダウンにテキストとしてファイル リンクを含めることができます。 詳細については、マークダウンのガイダンスを参照してください。

プロセス テンプレート エディターの発表

Visual Studio 2017 のプロセス テンプレート エディターの拡張機能をリリースしました。 この拡張機能では、プロセス テンプレートを便利な方法で表示し、更新できます。また、グローバル リストや作業項目の種類を更新するためのツールと作業項目フィールドの属性を表示するためのツールを利用できます。 これは TFS 2017 および TFS 2017 Update 1 サーバーに対して動作します。


既知のイシュー

TFS 2013 以前から TFS 2017 Update 1 build 15.112.26301.0 にアップグレードするとき、ビルドが機能しません。

  • 問題:

    この問題は、2017 年 3 月 7 日にリリースされた TFS 2017 Update 1 ビルド 15.112.26301.0 にアップグレードする場合にのみ発生します。 3 月 9 日にリリースされたビルド 15.112.26307.0 にアップグレードする場合、この問題は発生しません。

    TFS 2013 (RTM または何らかの更新) 以前からアップグレードした後、"counter with name TaskReferenceId does not exist" (TaskReferenceId という名前のカウンターは存在しません) というエラーがビルドに表示されます。

  • 対応策 :

    アップグレードしたコレクション データベースで次のスクリプトを実行します。

    INSERT  tbl_Counter (PartitionId, DataspaceId, CounterName, CounterValue)
    SELECT  DISTINCT
              dpm.PartitionId,
              ds.DataspaceId,
              N'TaskReferenceId',
              1
      FROM    tbl_DatabasePartitionMap dpm
      INNER LOOP JOIN Task.tbl_Hub h
      ON      h.PartitionId = dpm.PartitionId
      INNER LOOP JOIN tbl_Dataspace ds
      ON      ds.PartitionId = dpm.PartitionId
              AND ds.DataspaceCategory = h.DataspaceCategory
              AND ds.DataspaceIdentifier <> '00000000-0000-0000-0000-000000000000'
      WHERE   dpm.PartitionId > 0
              AND dpm.HostType = 4
              AND NOT EXISTS (
                  SELECT  *
                  FROM    tbl_Counter c
                  WHERE   c.PartitionId = dpm.PartitionId
                          AND c.DataspaceId = ds.DataspaceId
                          AND c.CounterName = N'TaskReferenceId'
              ) 
    

お客様は Git LFS バージョン 1.3.1 以降に更新する必要があります。

  • 問題:

    1\.3.1 より前の Git LFS バージョンのサポートは終了しました。

  • 対応策 :

    Git LFS を使用している場合は、Git LFS バージョン 1.3.1 以降に更新する必要があります。 これより古いバージョンの LFS クライアントは、このバージョンの TFS で行われた認証に関する変更と互換性がありません。

作業項目フォームが正しくレンダリングされない

  • 問題:

    従来の複数値コントロールなど、作業項目フォームで従来のカスタム コントロールを使用する場合、作業項目フォームをレンダリングできないことがあります。

  • 対応策 :

    コントロールを最新バージョンに更新する必要があります。 TFS 2017 Update 1 の最新の複数値コントロールは、こちらで見つけることができます。

作業項目フォームが Web で正しくレンダリングされない

  • 問題:

    Web クライアント用ではなく、Visual Studio クライアント用に、複数値のコントロールなどのカスタム コントロールをインストールしている場合、作業項目フォームが Web で正しくレンダリングされません。

  • 対応策 :

    欠落しているコントロール要素を含まない Web レイアウトを追加できます。 Visual Studio と Web で異なるレイアウトのターゲットにすることができます。 レイアウトに関する詳細については、「All FORM XML elements reference (TFS 2015)」(すべての FORM XML 要素のリファレンス (TFS 2015)) をご覧ください。

作業項目で読み取り専用フィールドが非表示にならない

  • 問題:

    HideReadonlyEmptyFields プロパティを true に設定した古い作業項目をレイアウトで使用していると、読み取り専用で空のフィールドが非表示になりません。

  • 対応策 :

    この問題の回避策はありません。 この問題は TFS 2017 Update 2 で修正される予定です。

作業項目フォームの表示がダーティになる

  • 問題:

    これは、TFS 2017 Update 1 の IE 11 で新しい作業項目フォームを表示したときに固有の問題です。 ユーザー プロファイルがフランス語、韓国語、ロシア語、トルコ語、日本語、または中国語に設定されていて、作業項目が ID に割り当てられている場合、作業項目フォームの表示がダーティになります。 作業項目を保存した場合、[担当者] フィールドが割り当てなしに設定されます。

  • 対応策 :

    IE11 以外の他のブラウザーを使います。 IE11 を使っている場合は、[作業項目] ツールバーの[元に戻す]/[更新] をクリックすると、[担当者] が正しい値に戻ります。

アップストリーム NPM パッケージのキャッシュが失敗する

  • 問題:

    TFS サーバーがプロキシを使用している場合は、アップストリーム NPM パッケージのキャッシュが失敗します。

  • 対応策 :

    TFS サーバーが企業プロキシを使用している場合は、TFS サーバーの web.config (%ProgramFiles%\Microsoft Team Foundation Server 15.0\Application Tier\Web Services\web.config) に次の変更を加えます。

    この構成ブロックを変更します。

      <!-- ASP.NET Proxy Usage for HttpWebRequests 
            "usesystemdefault" 
               false - stops the server using the default proxy configuration or proxy
                     auto-detection. 
            "bypassonlocal"
               true - this tells all requests to a local address to ignore configured proxies.
        -->
      <defaultProxy>
        <proxy usesystemdefault="False" bypassonlocal="True" />
      </defaultProxy>
    

    以下に置き換えます。

      <defaultProxy useDefaultCredentials="true" />
    

コード ドロップダウン メニューに正しくないバージョン コントロール ページが表示される

  • 問題:

    下図 (図 45) に示すように、Git リポジトリの管理ページにアクセスし、 [コード] ハブをクリックすると、 [履歴] リンクではなく、 [変更セット] リンクと [シェルブセット] リンクが表示されます。

    [コード] ドロップダウン メニュー
    (図 45) [コード] ドロップダウン メニュー
  • 対応策 :

    Git リポジトリの管理ページ以外のページに移動すると、正しいリンクが表示されます。

拡張機能が自動的に更新されない

  • 問題:

    以前のバージョンの TFS を TFS 2017 にアップグレードし、接続モードで TFS 2017 を実行すると、自動更新されるはずの拡張機能が自動更新されません。

  • 対応策 :

    この問題の回避策はありません。 この問題は修正されており、自動更新動作は TFS 2017 Update 2 から提供されるようになります。 何らかの理由で Update 2 まで待てない場合は、サポート チャネルに連絡すれば、修正プログラムを早く入手できます。

公開 URL が正しく設定されていない場合、拡張機能を取得できないか、拡張機能が正しく動作しません。

  • 問題:

    Visual Studio Marketplace から拡張機能を取得できません。

    既に取得している拡張機能が正常に機能しない可能性があります。

  • 対応策 :

    この問題は TFS 2017 Update 2 で修正されたため、アップグレードすることをお勧めします。 Update 1 で実行できるようにする必要がある場合は、企業環境内の別のシステムから URL に到達できるように、TFS サーバー管理者コンソールで '公開 URL' を設定します (図 46)

[コード] メニュー
(図 46) [コード] メニュー

Team Foundation Server 2017 についてお客様から報告された問題をご覧ください。

Developer Community ポータル


フィードバックと提案

皆様のご意見をお待ちしております。 開発者コミュニティで問題を報告して追跡し、スタック オーバーフローでアドバイスを得ることができます。


ページの先頭へ