Настройка ночных билдов в TFS 2010

TFS Night Builds

TFS 2010 имеет забавный баг. В некоторых случаях (не изветсно каких, иначе баг бы исправили) невозможно штатными средствами настроить сборку проектов по расписанию.

При попытке это сделать, мы получаем ничего не говорящее окно с сообщением об ошибке.

сообщение об ошибке

Решение, которая я нашел для себя, это добавление задачи в планировщик Windows. Суть задачи состоит в запуске программы TFSBuild.exe с определенными параметрами.

set tools=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

"%tools%\TFSBuild.exe" start "%collection%" "%project%" "%definition%" /queue

Однако если изменения вносятся в код не регулярно, то нет смысла делать билд, если он не отличается от предыдущего (уже сделанного).

Таким образом, появляется новая задача. Необходимо понять надо ли делать билд.

Я решил проблему с помощью утилиты:

"%tools%\tf.exe" history

Можно просто сверить результат утилиты с предыдущим. Если результат не изменился, значит и билд делать незачем.

У результате получаем результат build.cmd.

Использовать можно вот так:

build.cmd https://tfsserver/tfs/defaultcollection ProjectName BuildName $/ProjectName/BuildName