TFS закрытая проверка в выпуске
Мне было интересно, должен ли я публиковать это здесь или нет, но потом я увидел другие подобные посты на TFS, и они не решили мою проблему, поэтому я решил пойти дальше и опубликовать это.
Я пытаюсь исправить окно TFS, созданное бывшим коллегой. Я не использовал TFS ни в каком другом качестве, кроме проверки файлов в / из него до даты. Для этого упражнения я создал простой проект winforms только с одной формой и предупреждением о мире приветствия при загрузке формы, которым я являюсь. пытаясь зарегистрироваться в TFS. Мы включили gated check-in, и мы также запрещаем пользователям пропускать проверки сборки, как это видно в красной рамке ниже.
Теперь проблема состоит в том, что все попытки регистрации завершаются неудачно с ошибкой:
Access Denied: User 'myOrgDomain\user.name' needs Override check-in
validation by build permission for the following build definition(s). DefnName
Я получаю сообщение о том, что это частичный успех
Когда я открываю сборку, я вижу это
Пока я проверял это онлайн, я обнаружил, что решение состоит в том, чтобы позволить пользователям обойти проверки, установив флажок, который отображается серым цветом. Я не хочу, чтобы это было так. Есть ли способ, которым я могу отключить проверку байпаса и по-прежнему работать с проверкой?
Это меня полностью озадачило, и я не могу понять, что могло пойти не так. Любые указатели на то, где искать в моих журналах, чтобы выяснить, что идет не так, также могут помочь. Журналы говорят, что сборка прошла успешно без предупреждений или ошибок.
3 ответа
Строители [TestProject], администраторы [TestProject] и участники [TestProject], я проверил Deny, для читателей [TestProject] он пуст.
Поскольку отрицание отменяет любые гранты, и так как почти каждый пользователь является членом группы "Читатели" или "Участники", у вас возникнут проблемы. Так как пользователи могут только пройти проверку регистрации, когда им явно предоставлено разрешение, нет необходимости устанавливать какое-либо правило запрета.
Итак, чтобы решить вашу проблему:
- Удалите запрещающие проверки из этих групп.
- Установите "Проверка регистрации с переопределением", чтобы учетные записи могли обходить вашу сборку с проверкой регистрации.
В Team Foundation Server можно указать два явных параметра авторизации для разрешений: Запретить и Разрешить. Существует также неявная авторизация, которая не устанавливает разрешение Allow и не устанавливает разрешение Deny. Эта авторизация является неявной настройкой Deny, которая называется Unset.
Я столкнулся с той же проблемой, о которой вы упомянули. Параметр безопасности, который вы хотите установить, предназначен для самой сборки, а не для чего-либо в окне TFS. Что мне помогло, так это щелкнуть правой кнопкой мыши по сборке в Visual Studio и выбрать параметр Безопасность.... Затем я удостоверился, что мои учетные записи службы сборки имеют доступ к разрешению "Переопределить проверку регистрации при сборке". Речь идет не о том, что пользователям TFS разрешено отменять регистрацию. Сообщение действительно о том, имеет ли пользователь службы сборки возможность отмены регистрации. Чтобы это работало, вы должны быть членом группы " Учетные записи службы сборки коллекций проектов ".
Я задавался вопросом, приведет ли это к тому, что TFS затем будет переопределять и регистрировать каждый раз (даже если сборка не удалась), поэтому я намеренно сломал свою сборку и попробовал ее с этим набором разрешений. Это не позволило продолжить регистрацию (т.е. произошла ошибка).
В моем случае у меня несколько сборок. Недостаточно было просто разрешить "Проверять правильность регистрации при сборке" только для решения, с которым я работал. По какой-то причине мне пришлось сделать то же самое для всех других моих сборок. Я не смог найти документацию о том, почему это так.
Что-то подозрительное происходит в вашей настройке. Доступ к флагу, представленному на вашем снимке экрана, контролируется разрешением на сборку "Подтверждение проверки регистрации при сборке". Так как это не установлено как разрешение, но, очевидно, установлено как опция, вы находитесь в тупиковой ситуации.
Я попытался бы временно включить этот флаг (щелкните правой кнопкой мыши Team Explorer на "Builds", выберите "Security" и установите разрешение для вашего пользователя), затем флажок должен быть включен, и я ожидаю, что он будет установлен. Я бы снял флажок вручную и позволил запустить сборку. Тогда я бы отключил разрешение.
Надеюсь, теперь VS сохранит эту опцию.
Если бы это не удалось, я бы подал ошибку в MS.