# #git #gitlab #continuous-integration #continuous-deployment #cicd
Вопрос:
Допустим, есть репозиторий с именем repoA. В gitlab-ci.yml этого репозитория я хотел бы клонировать (и модифицировать) другой репозиторий с именем repoB.
repoA и repoB принадлежат к одной и той же группе Gitlab, и все члены этой группы имеют роль сопровождающего для обоих этих репозиториев. Я создал токен доступа для repoB, который будет использоваться для аутентификации при клонировании репозитория (внутри yml repoA), но, несмотря на токен, git все еще требует объявить user.name и user.mail, чтобы сделать репост.
Сценарий в gitlab-ci.yml запускается после каждой фиксации repoA, так как я могу сделать так, чтобы repoA не требовал настройки для доступа к repoB (с использованием токена доступа)?
В основном так выглядит мой gitlab-ci.yml:
build-job: image: "node:16.13.0" stage: build script: - npm ci - npm run docs:build - cd .. - git clone https://lt;token_namegt;:lt;tokengt;@lt;url_to_repoBgt;
Комментарии:
1. Вы бы
git submodule add
сделали другое репо.but despite the token,
Как вы его клонируете? Пожалуйста, отправьте код.2. @KamilCuk Я только что отредактировал свой пост.
3.
user.name
иuser.email
не используется для аутентификации при клонировании, это просто при фиксации. Вы уверены, что эта ошибка возникает при попытке клонирования? Я спрашиваю, потому что вы можете легко клонировать репозиторий без установки этих двух элементов конфигурации.4. Вы совершенно правы @LasseV.Karlsen. Он выдает ошибку при повторном выполнении, а не при клонировании.
5. И в этом случае git прав. Вы можете либо настроить эти элементы конфигурации отдельно, либо передать их в командной строке commit с
git -c user.email=email@domain.fr -c user.name='Your Name' commit ...
помощью (я считаю, что это правильный порядок и синтаксис). В любом случае, чтобы совершить , git должен знать, кто совершает.