Jenkins和Bitbucket使用SSH

时间:2018-11-02 14:07:25

标签: git jenkins

我在jenkins中创建了一个作业,其中它使用ssh键从bitbucket中的私有存储库中提取源代码。因此,我必须使用PUTTY进行设置,并将环境变量GIT_SSH设置到plink位置。因此,当我从命令行中提取时,它可以正常工作。现在,当我添加带有凭据的bitbucket存储库URL时,在我添加私钥的位置上,甚至在单击保存之前,它都会显示一条错误消息

Failed to connect to repository : Command "C:\Program Files\Git\bin\git.exe ls-remote -h repo link. return status code 128. tdout: 
stderr: Load key "C:\\Windows\\TEMP\\ssh2792596192881196946.key": invalid format
git@bitbucket.avlabs.us: Permission denied (publickey). 
fatal: Could not read from remote repository.

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

我不确定为什么要显示此消息。因此,我想到了另一种尝试方式,即创建一个提取回购的批处理文件。从命令行,它可以正常工作,但是当我将批处理文件添加到Jenkins作业时,它会出现错误:

git@bitbucket.avlabs.us: Permission denied (publickey).
fatal: Could not read from remote repository.

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

我认为,由于它在命令行上有效,因此,如果我仅将批处理文件的位置添加到jenkins中并让其执行,它应该可以工作,但不能。

1 个答案:

答案 0 :(得分:0)

弄清楚了,必须转到Jenkins上的systemInfo,并检查ssh密钥是否是原始位置的密钥。找到它了,它不在那儿,它指向一个不同的位置,因此在詹金斯家的位置添加两个键,它现在可以工作了。