TFS 2017 Update1
リリースされましたね。今回SQL Server 2016 SP1やWindows Server 2016もサポートされています。ハードウェア要件はこちらから。
Express Editionもリリースされていますが、前回同様機能差はなく、SQL Serverのライセンスが付属しない、フル機能が入っている(制限は人数のみ)のようです。6人以上使いたい場合はTFS CALになります。
リリースノートの注意事項
フィードバックしていますが、日本語版の翻訳には既知の問題が漏れていますので、英語版も見てください。
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用でフォルダが分かれているので気を付けてください。
Re-IndexingRepository.ps1というスクリプトを実行すれば治る…はずです。ちなみに私は全部やりました。
リリース前のスクリプトだとInvoke-Sqlcmdの -inputfile で指定するフルパスの解釈ができなかったので、pull request送って直してもらいました。
引数がちょっとわかりづらいですが、こうなります。チーム内にTFVC/Git両方ある場合、リポジトリ名はどちらを指定しても変わらないような気がします(一度の実行で全部直りました)が、チームプロジェクトごとにやったほうがいいでしょう。
- SQL Server名(インスタンス名)
- TFSのコレクションデータベース名(既定ではTfs_DefaultCollection)
- TFSの構成データベース名(既定ではTFS_Configuration)
- Git(Git_Repository)かTFVC(Tfs_Repository)か
- コレクション名(既定ではDefaultCollection)
- リポジトリ名(チームプロジェクト名)
これでしばらく待つと、再構築され、復旧するはずです。