Клонирование хранилища из MSA при поддержке DevOps Azure с использованием Visual Studio 2017 или 2019 и учетной записи AAD - PullRequest
0 голосов
/ 19 февраля 2019

Microsoft представила возможность приглашать пользователей AAD в учетные записи DevOps, поддерживаемые MSA.Это отлично подходит для компаний, которые переводят учетные записи с «неуправляемых» на «управляемые», начиная с передачи права собственности на учетную запись пользователю AAD, а затем исправляя ошибки пользователя и лицензирования, используя более медленный подход.

Однако, когдаЯ пытаюсь клонировать репозиторий с помощью Visual Studio 2017 или 2019, меня приветствует сообщение об ошибке:

enter image description here

Ошибка Git сфатальная ошибка.Аутентификация не удалась для: {remote-url}.

или, в зависимости от используемой версии диспетчера учетных данных Git:

ошибка: не удается создать askpass: нет такогофайл или каталог неустранимый: не удалось прочитать имя пользователя для '{remote-url}': терминальные запросы отключены`

При клонировании из командной строки проблем нет, и впоследствии Visual Studio также может использоватьрезультирующий репозиторий git.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Обновление

Последняя версия Visual Studio 2017 (15.9.10+) теперь содержит версию 1.18.4 Git Credential Manager и должна решать многие из проблем, которые были вызваны более старыми версиями.версии.Если вам нужна более свежая версия GCMfW, тот же прием должен работать и для более новых версий.


После общения с Чедом Болесом (который поддерживает Team Explorer вVisual Studio), мы разработали еще один вариант.Это предпочтительнее, чем перезапись файлов в установке Visual Studio, поскольку это может привести к поломке будущих обновлений и может вызвать проблемы с отладкой в ​​будущем.

  1. Установите последнюю версиюGCMW-1.xx.xx.exe в вашей системе и / или обновление до последней версии Git для Windows , которая должна включать GCM.
  2. Обновление вашей глобальнойgit config, указывающий на конкретную реализацию диспетчера учетных данных Git:

    c:\>git config --global --edit
    

    Обновите раздел [credential] следующим образом:

    [credential]
        helper = C:\\\\Program\\ Files\\\\Git\\\\mingw64\\\\libexec\\\\git-core\\\\git-credential-manager.exe
    

    Убедитесь, что путь указывает на последнюю версию GitДиспетчер учетных данных можно найти в вашей системе.Запомните все побеги, необходимые для работы путей в глобальной конфигурации git.

0 голосов
/ 19 февраля 2019

Оказывается, что Visual Studio 2017 (по состоянию на 15.9.7) и 2019 (предварительный просмотр 3) по-прежнему поставляются с версией 1.17 Git Credential Manager, и они не используют глобально установленную версию, когда она доступна.

enter image description here

Вы можете проверить, есть ли у вас "старая" версия в следующих местах:

C:\Program Files (x86)\Microsoft Visual Studio\2017\{EDITION}\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\git-core
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\git-core

Если они нев версии 1.18.4 у них нет необходимого исправления для проверки подлинности AAD в учетных записях с поддержкой MSA .

Если у вас правильная версия, вы должны увидеть:

enter image description here

Исправление

Это официально не поддерживается и может иметь нежелательные побочные эффекты. Но это сработало для меня;).

Чтобы исправить Visual Studio, вы можете перезаписать двоичные файлы в указанных выше местах файлами в последнем выпуске zip Git Credential Manager:

enter image description here

Вам нужно будет повторно применять эти файлы при каждом обновлении до более нового обновления / предварительного просмотра доК сожалению, Microsoft решает отправить последнюю версию как часть Visual Studio.Visual Studio Installer будет упорно перезаписать его с версией 1.17.

...