Существует встроенная «учетная запись службы», которая на самом деле является PAT, называемой Project Collection Build Service
, которую не следует путать с Project Collection Build Service Accounts
group .
От: https://marcstan.net/blog/2018/08/31/Mirror-github-gitlab-and-VSTS-repositories/
Общая информация: если вы не знали, что $ env: SYSTEM_ACCESSTOKEN - это PAT (токен личного / частного доступа), который автоматически генерируется сервером сборки (но по умолчанию отключен) и позволяет выполнять проверку подлинности в VSTS изнутри ваши сборки и релизы. Чтобы включить его, выберите «задание агента» в определении сборки или выпуска и установите флажок «Разрешить сценариям доступ к токену OAuth» в разделе «Дополнительные параметры».
Для этого есть два шага:
Шаг 1
Чтобы избавиться от ошибки fatal: could not read username for...
, нам нужно разрешить сценариям получать доступ к токену OAuth. Если вы используете новейший конвейер Azure на основе YAML, вы будете стремиться к высоким и низким значениям для « Разрешить сценариям доступ к параметру OAuth-токена » в пользовательском интерфейсе. Ответ Microsoft - здесь . В вашем файле YAML (azure-pipelines.yml
) добавьте:
steps:
- checkout: self
persistCredentials: true
Шаг 2
После устранения ошибки OP я не смог зафиксировать сообщение об ошибке:
remote: 001f# service=git-receive-pack
remote: 0000000000aaTF401027: You need the Git 'GenericContribute' permission to perform this action. Details: identity 'Build\c21ba3ac-5ad4-de50-bc1a-12ee21de21f0', scope 'repository'.
remote: TF401027: You need the Git 'GenericContribute' permission to perform this action. Details: identity 'Build\c21ba3ac-5ad4-de50-bc1a-12ee21de21f0', scope 'repository'.
fatal: unable to access 'https://[username].visualstudio.com/[repo]/_git/[repo]/': The requested URL returned error: 403
Мы также должны дать ему разрешения. С той же страницы , как указано выше. Добавьте пользователя Project Collection Build Service
в свои репозитории.
![enter image description here](https://i.stack.imgur.com/SSin7.png)
Примечание: пользователь (1), а не группа (2).
Грант:
Contribute: Allow
Create Branch: Allow
Create Tag: Allow (Inherited)
Read: Allow (Inherited)
НТН