Как изменить учетную запись пользователя для конвейера, работающего в Azure Pipelines

Мы настраиваем в Azure Pipelines новый конвейер, который выполняет фиксацию git в репозитории Azure DevOps. Конвейер выполняется самодостаточным агентом Windows. Агент уже зарегистрирован с использованием токена от пользователя с административными привилегиями, но при запуске конвейера мы видим, что коммит git выполняется другим пользователем, у которого нет разрешений на доступ к репозиторию. Мы хотели бы определить другого пользователя для этого шага фиксации git.

Прочитав документацию по Azure Pipelines, я вижу, что агентом используются три разных токена аутентификации:

  • Маркер регистрации агента: используется только при регистрации агента в пуле агентов.
  • Токен прослушивателя OAuth: используется агентом при прослушивании новых заданий.
  • Токен OAuth для конкретного задания: используется агентом при выполнении отдельного задания.

Эта часть документации заставляет нас думать, что токен OAuth для конкретного задания - это тот, который нам нужно изменить для наших целей:

Когда задание доступно, агент загружает задание, а также токен OAuth для конкретного задания. Этот токен создается Azure Pipelines / TFS для идентификатора с заданной областью, указанного в конвейере. Этот токен недолговечен и используется агентом для доступа к ресурсам (например, исходному коду) или изменения ресурсов (например, для загрузки результатов тестирования) в Azure Pipelines или TFS в рамках этого задания.

Как и где в Azure Pipelines мы можем изменить этот токен OAuth для конкретного задания, который использует саморазмещаемый агент при выполнении конвейера?

Мы будем очень благодарны за любую помощь или разъяснения по этой теме.


person Jose Antonio    schedule 21.02.2019    source источник
comment
Предоставьте своей учетной записи службы сборки доступ к вашим репозиториям.   -  person Daniel Mann    schedule 21.02.2019


Ответы (1)


Покопавшись в машине, на которой работает агент Azure DevOps, мы увидели, что токен, используемый для аутентификации с помощью Azure DevOps, хранится в диспетчере учетных данных Windows.

Токен личного доступа Azure Devops, хранящийся на автономной машине сборки

В этом окне вы можете удалить все сохраненные учетные данные, а затем вам будет предложено ввести новые действительные учетные данные в Azure Devops в следующий раз, когда компьютер попытается получить доступ к репозиторию Azure Devops через Git. Git использует этот механизм, потому что мы установили Git Credential Manager для Windows. при настройке Git. Он управляет аутентификацией в удаленных репозиториях, таких как Azure Devops или Github, сохраняя учетные данные в диспетчере учетных данных Windows. Как указано в этом вопросе SO, вместо настройки учетных данных из этого диалогового окна окна вы можете также управляйте ими через командную строку, набрав:

git credential-manager
person Jose Antonio    schedule 05.03.2019