#git #azure #github #azure-pipelines
#git #azure #github #azure-конвейеры
Вопрос:
Я пытаюсь проверить подмодуль в моем Azure pipeline.
Подмодули были добавлены через:
git submodule add <myrepo>
и перенесено в основное хранилище.
Теперь мне нужно проверить это репозиторий во время выполнения конвейера, что я делаю со следующим кодом:
jobs:
- job: checkoutSubmodule
steps:
- checkout: self
submodules: true
Это приводит к следующей ошибке:
Cloning into '/home/vsts/work/1/s/devops-scripting'...
fatal: could not read Username for 'https://github.com': terminal prompts disabled
fatal: clone of 'https://github.com/hkelly999/devops-scripting.git' into submodule path '/home/vsts/work/1/s/devops-scripting' failed
Failed to clone 'devops-scripting'. Retry scheduled
Как я могу настроить конвейерную линию для запоминания моего имени пользователя на github? Я пробовал
git config --global user.name "myusername"
Однако, похоже, это работает только с принудительными фиксациями, а не когда я пытаюсь обновить подмодули.
Как я могу либо ввести имя пользователя в свой конвейер, либо заставить конвейер запомнить моего пользователя github?
Комментарии:
1. Не получить последнюю информацию, является ли ответ полезным для вас? Если это полезно, вы можете принять это как ответ , чтобы это могло помочь другим членам сообщества, у которых возникают те же проблемы, и мы могли бы заархивировать эту тему. Или, если у вас есть какие-либо опасения, не стесняйтесь поделиться ими здесь. Спасибо.
Ответ №1:
Для частных проектов виртуальная машина Azure devops build не имеет разрешения на клонирование ваших подмодулей. Чтобы дать ему разрешение на клонирование, вы можете либо добавить свое имя пользователя и пароль, либо добавить личный токен доступа (PAT) к URL-адресу в .gitmodules
файле в вашем репозитории Azure devops.
Вам нужно изменить URL на https://{yourPAT}@github.com/xxx/yyy.git
.gitmodules
файл выглядит как:
[submodule "DbConnector"]
path = DbConnector
url = https://{yourPAT}@github.com/xxx/xxxx
Вот пример с аналогичной проблемой и документ, на который вы можете сослаться.