Дженкинс Груви не может клонировать репозиторий gitlab с помощью токена oauth через порт https - PullRequest
1 голос
/ 29 апреля 2019

Я не могу извлечь код из gitlab через jenkins groovy, используя токен oauth2 через https.

Клонирование работает в git cli с использованием того же токена oauth. Я также могу перечислить все мои проекты Gitlab через curl на той же машине.

Но не может вызвать git clone с помощью токенов Oauth2 через Groovy конвейер.

Ограничения: серверу Jenkins необходимо обмениваться данными через порт https (только) с сервером gitlab с помощью токена oauth2 через скрипт groovy. Я хочу использовать диспетчер учетных данных jenkins для хранения токена Oauth2 - вместо того, чтобы передавать его напрямую через скрипт s

Ошибка: код состояния 128: stderr: удаленный: HTTP Basic: доступ запрещен

** Groovy код, используемый для оформления заказа **

checkout([$class: 'GitSCM', branches: [[name: "*/$GIT_BRANCH"]], doGenerateSubmoduleConfigurations: false, extensions: [], gitTool: 'Default', submoduleCfg: [], userRemoteConfigs: [[credentialsId: "$GIT_CREDS_ID", url: "$GIT_URL"]]])

Проблема в том, что $ GIT_CREDS_ID: выбор только идентификаторов учетных данных, имеющих закрытый ключ SSH или комбинации имени пользователя / пароля. Но НЕ выбирает идентификационный номер с маркером Oauth (созданный после установки плагина git lab)

Ошибка:


Warning: CredentialId "2002" could not be found. # same is being listed under jenkins credentials
 > git rev-parse --is-inside-work-tree # timeout=10
...
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress https://git.my-gitlab-site.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://git.my-gitlab-site.git/'


Тот же самый oauth-токен отлично работает через curl, git cli и даже если я передаю его прямо в https URL-адрес git, например: https://oauth2:SomeDummyToken@git.aa.st/c-swajai/poc_devops_coe.git

Но не могу использовать то же самое через Дженкинса.

Сведения о системе Дженкинс вер. 2,172

ОС "Amazon Linux" ВЕРСИЯ "2"

Найдена связанная ошибка: https://issues.jenkins -ci.org / просмотр / JENKINS-36863

1 Ответ

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

Я нашел связанный oldbug (статус: решен), который, похоже, всплыл в последней версии jenkins. обходной путь для других, сталкивающихся с подобной проблемой.

Создание новых учетных данных для введите имя пользователя и пароль

Имя пользователя: AnyRandomString
Пароль: YourOauthToken
Идентификационный номер: любой пользовательский номер / строка

Используйте указанный выше идентификатор учетной записи в скрипте groovy при клонировании. Теперь вы можете клонировать git с помощью https url на порт 443, используя Oauth tokem

...