Учетные Данные Дженкинса Не Используются Должным Образом При Клонировании Репозитория Git

  • Автор темы Алексей Ерошенков
  • Обновлено
  • 22, Oct 2024
  • #1

Я пытаюсь настроить конвейер jenkins для проверки моего кода IaC, для этого я бы хотел, чтобы jenkins клонировал (размещенный) репозиторий gitlab, для этой цели я настраиваю учетные данные, используя имя пользователя/тип ключа, я использовал пользователя jenkins + a сгенерированный ключ rsa (для простоты один и тот же ключ на ведущем и ведомом устройствах).

При входе в систему ведущего или ведомого я могу git clone, используя следующую команду и результат:

Oct  8 11:49:23 l-gitlab1 sshd[18490]: Failed password for git from 172.27.200.46 port 56750 ssh2
Oct  8 11:49:23 l-gitlab1 sshd[18490]: Connection closed by 172.27.200.46 port 56750 [preauth]

Я вижу правильную запись в журнале аутентификации на экземпляре gitlab, в которой говорится, что аутентификация по открытому ключу была принята.

НО, когда я запускаю конвейер (который использует те же учетные данные), он терпит неудачу с этим сообщением:

Cloning the remote Git repository
Honoring refspec on initial clone
Cloning repository [email protected]:salt/salt_states.git

> git init /home/jenkins/workspace/salt_build_test # timeout=10
Fetching upstream changes from [email protected]:salt/salt_states.git

> git --version # timeout=10
using GIT_SSH to set credentials jenkins user's key (same key on master and slave(s))

> git fetch --tags --progress -- [email protected]:salt/salt_states.git +refs/remotes/origin/dev # timeout=20
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException: Command "git fetch --tags --progress -- [email protected]:salt/salt_states.git +refs/remotes/origin/dev" returned status code 128:
stdout: 
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Журнал аутентификации gitlab показывает, что при аутентификации пытались использовать режим аутентификации по паролю, а не по открытому ключу. ...

root@jenkins-slave-1 [~]: su - jenkins
jenkins@jenkins-slave-1:~$ cd /tmp/
jenkins@jenkins-slave-1:/tmp$ git clone [email protected]:salt/salt_states.git
Cloning into 'salt_states'...
remote: Enumerating objects: 1177, done.
remote: Counting objects: 100% (1177/1177), done.
remote: Compressing objects: 100% (483/483), done.
remote: Total 1177 (delta 676), reused 1153 (delta 665)
Receiving objects: 100% (1177/1177), 1.64 MiB | 0 bytes/s, done.
Resolving deltas: 100% (676/676), done.
jenkins@jenkins-slave-1:/tmp$ 

Есть идеи о том, что я делаю неправильно?

Ошибка: Учетные данные Дженкинса не используются должным образом при клонировании репозитория git

[Редактировать]

Я добавил скриншот, так как мое объяснение не очень понятно :(

Алексей Ерошенков


Рег
24 Oct, 2020

Тем
82

Постов
206

Баллов
616
  • 25, Oct 2024
  • #2

Плагин Gitlab требует токен аутентификации, вы пытаетесь использовать ключ SSH.

https://github.com/jenkinsci/gitlab-plugin#global-plugin-configuration

«ОБРАТИТЕ ВНИМАНИЕ: эта конфигурация аутентификации используется только для доступа к API GitLab для отправки статуса сборки в GitLab. Она не используется для клонирования репозиториев git. Учетные данные для клонирования (обычно учетные данные SSH) должны быть настроены отдельно в плагине git. "

 

Mybarsik


Рег
11 Mar, 2012

Тем
70

Постов
186

Баллов
556
Похожие темы Дата
Похожие темы
Работа Gitlab Ci/Cd Без Извлечения Файлов Lfs?
Обеспечение Terraform Шеф-Повара — Невозможно Проверить Сертификат Для 10.90.239.223, Поскольку Он Не Содержит Ip San.
Sre — В Чем Разница Между Традиционной Моделью Разработки И Эксплуатации И Проектированием Надежности Объекта?
Как Я Могу Получить Доступ К Каталогам Внутри Docker-Контейнера Снаружи (А Не Наоборот!)?
Дженкинс – Повторное Использование Виртуальных Сред Python На Сервере Сборки
Непрерывная Интеграция — Как Получить Консольный Вывод, Журнал Изменений Восходящего Задания Вместе С Нисходящими Заданиями, Полный Вывод Консоли И Журнал Изменений В Заданиях Конвейера Jenkins!
Linux — Docker-Credential-Desktop.exe Не Установлен
Веб-Сервисы Amazon – Как Развернуть Statsd, Прослушивающий Udp В Kubernetes С Внешним Балансировщиком Нагрузки На Aws?
Docker: Разрешить Контейнерам Взаимодействовать Друг С Другом, Но Не Подключаться К Интернету
Как Передать Переменную Окружения Gitlab С Чувствительными Символами В Скрипт Bash?
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно