Как убедиться, что на клиентах TFS установлена ​​последняя версия настраиваемой политики проверки? - PullRequest
4 голосов
/ 13 июня 2011

Мы реализовали пользовательскую политику проверки и выбрали ее для одного из наших проектов TFS. Если на клиенте TFS не установлена ​​политика, TFS отобразит сообщение об ошибке с инструкциями по установке. Это все хорошо.
Однако при появлении новой версии политики регистрации у нас возникла проблема.
Похоже, что TFS применяет только имя политики, а не ее версию.
Поэтому, даже если я удалю старую ссылку на политику и добавлю новую, всем клиентам, у которых уже установлена ​​старая версия, все равно будет разрешено ее использовать.
Я бы ожидал, что TFS не позволит использовать старую версию политики регистрации.

Как мы можем обеспечить это?

Одним из возможных обходных путей может быть регистрация последнего номера версии в виде файла в проекте, к которому может получить доступ любой пользователь. Сама проверка в политике будет читать этот файл, сравнивать версию с его собственной версией и генерировать PolicyFailure, если версия не совпадает.

Может быть, есть более простой / лучший способ?

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Наконец я решил использовать первоначально предложенный обходной путь:

"Одним из возможных обходных путей может быть проверка номера последней версии в виде файла для проекта, к которому может получить доступ любой человек. Проверка в самой политике будет считывать этот файл, сравнивать версию с его собственной версией и генерировать PolicyFailure, если версия не соответствует. "

Хорошо работает.

1 голос
/ 13 июня 2011

Вы можете добавить номер версии политики в конец имени политики и представить обновленную версию в качестве новой политики.
Это решение имеет небольшие накладные расходы на управление, но гарантирует, что вы получаете сообщение об ошибке при каждой новой версии политики.

...