Сохранить имя пользователя github для обновления подмодулей azure pipeline

#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
 

Вот пример с аналогичной проблемой и документ, на который вы можете сослаться.