Временное хранилище учетных данных git в кэше учетных данных - PullRequest
1 голос
/ 17 мая 2019

Я столкнулся с некоторой проблемой аутентификации с Carthage , GitLab CI и нашими внутренними зависимостями.Наши бегуны чисты и не имеют никаких учетных данных для GitLab, хранящихся в их цепочке для ключей из соображений безопасности.

Когда carthage bootstrap запускается в задании, Carthage использует git credential fill для аутентификации запроса, и в нашем случае этоне удается.

A shell task (/usr/bin/env git fetch --prune --quiet https://gitlab.corp.com/path/to/lib.git refs/tags/*:refs/tags/* +refs/heads/*:refs/heads/* (launched in /Users/x/Library/Caches/org.carthage.CarthageKit/dependencies/lib)) failed with exit code 128:
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'api' scope for Git over HTTP.
remote: You can generate one at https://gitlab.corp.com/profile/personal_access_tokens
fatal: Authentication failed for 'https://gitlab.corp.com/path/to/lib.git/'

Каждое задание получает токен задания и должно использовать его для связи с GitLab.

Как временно вставить имя пользователя gitlab-ci-token и пароль $CI_JOB_TOKEN в хранилище учетных данных git?

1 Ответ

0 голосов
/ 18 мая 2019

Как временно вставить имя пользователя gitlab-ci-token и пароль $ CI_JOB_TOKEN в хранилище кэша учетных данных git?

Это означает, что URL-адрес gitlab.corp.com уже связан симя пользователя / пароль прямо сейчас в диспетчере учетных данных Windows (используется помощником по учетным данным git).

Поскольку диспетчер учетных данных может связывать только одну учетную запись с одним URL-адресом, вам может потребоваться переключитьк схеме SSH, где у вас не будет ограничения токена.
Это можно сделать даже автоматически, с помощью:

git config --global url.ssh://git@gitlab.corp.com/.insteadOf https://gitlab.corp.com/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...