Дженкин Джоб не может Pu sh изменения в Git - PullRequest
0 голосов
/ 18 марта 2020

У меня есть бесплатный стиль Jenkin Job на контейнере Jenkin, код проверки которого git. После проверки кода я создаю тестовый файл и отправляю nack на git. написать код в оболочке:

echo "some data for the file" >>test.txt
git add -A
git commit -m "Added new file"
git status
git push origin master

But it gives error as :
+ git commit -m 'Added new file'
[detached HEAD f0a4575] Added new file
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt
+ git status
# HEAD detached from 7090e78
nothing to commit, working directory clean
+ git push origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

1 Ответ

0 голосов
/ 19 марта 2020

Вам потребуется сгенерировать пару ключей S SH с помощью команды s sh -keygen на вашем локальном компьютере. При этом будут сгенерированы как публичные c, так и личные ключи S SH.

Загрузите ключ publi c в свой репозиторий и сохраните закрытый ключ в вашем Диспетчере учетных данных Jenkins с выбранным пользователем идентификатором. .

В вашей работе вам нужно ввести этот секрет в качестве параметра и поместить его содержимое здесь:

~/.ssh/id_rsa

Если это не сработает, вы возможно, потребуется добавить ключ с помощью sshagent. У вас есть пример для GitHub: https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

В любом случае, если вам неудобно управлять ключами S SH, вы можете сохранить имя пользователя и пароль в качестве учетных данных в Jenkins. тогда аутентификация довольно проста с помощью простого базового c механизма аутентификации:

git push https://$USERNAME:$PASSWORD@yourRepoUrl.com/repo

...