kkamegawa's weblog

Visual Studio,TFS,ALM関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Team Foundation Server 2017 Update1リリースと注意事項

TFS 2017 Update1

リリースされましたね。今回SQL Server 2016 SP1やWindows Server 2016もサポートされています。ハードウェア要件はこちらから。

www.visualstudio.com

Express Editionもリリースされていますが、前回同様機能差はなく、SQL Serverのライセンスが付属しない、フル機能が入っている(制限は人数のみ)のようです。6人以上使いたい場合はTFS CALになります。

リリースノートの注意事項

www.visualstudio.com

フィードバックしていますが、日本語版の翻訳には既知の問題が漏れていますので、英語版も見てください。

www.visualstudio.com

TFS 2013からのアップグレードを行うと"counter with name TaskReferenceId does not exist"というエラーが出ます。英文のリリースノートに回避するためのSQLが載っています。

そのほかの既知の問題も気を付けてください。

Erastic Search

TFS 2017 RTMからコード検索にErastic Searchを使うようになりました。RTMでは1.7でしたが、RTMでは2.4になっています。私の手元で何台か入れ替えたのですが、いずれもコード検索ができませんでした。対処としてはどちらかでしょうか。

  • アップグレードではなく、一度「TFS2017をアンインストール」してからTFS 2017 Update1をインストール
  • GitHubにある修正用のスクリプトを実行する

前者はデータベースさえあればいつでも戻るので、大丈夫です。後者はここにスクリプトがあります。TFS 2017用とTFS 2017 Update1用でフォルダが分かれているので気を付けてください。

github.com

Re-IndexingRepository.ps1というスクリプトを実行すれば治る…はずです。ちなみに私は全部やりました。

リリース前のスクリプトだとInvoke-Sqlcmdの -inputfile で指定するフルパスの解釈ができなかったので、pull request送って直してもらいました。

www.visualstudio.com

引数がちょっとわかりづらいですが、こうなります。チーム内にTFVC/Git両方ある場合、リポジトリ名はどちらを指定しても変わらないような気がします(一度の実行で全部直りました)が、チームプロジェクトごとにやったほうがいいでしょう。

  • SQL Server名(インスタンス名)
  • TFSのコレクションデータベース名(既定ではTfs_DefaultCollection)
  • TFSの構成データベース名(既定ではTFS_Configuration)
  • Git(Git_Repository)かTFVC(Tfs_Repository)か
  • コレクション名(既定ではDefaultCollection)
  • リポジトリ名(チームプロジェクト名)

これでしばらく待つと、再構築され、復旧するはずです。