我已经创建了一个Jenkins作业,它完成了将Sprint代码合并到master的任务。我已经创建了一个凭证-比如XXX(带有私钥和公钥的SSH),并完美地指定了所有细节-BitBucket中的公钥和Jenkins中的私钥
当我运行作业时,它会执行以下操作:
1.使用创建的凭证将代码提取到工作区中(XXX)=>完美地执行
1.将Sprint代码合并(使用--no-commit)到master => Perfectly doing中
1.将代码推送到master. => Error
然而,在第3步,我的作业失败了,错误是:
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
字符串
我不明白,如果代码可以使用证书XXX检查/下载而没有任何问题,为什么它不能使用相同的证书推送并抛出错误?
这是一个真正的错误还是一个误导?
1条答案
按热度按时间lp0sw83n1#
值得一提的是,通过pipeline / jenkins GUI(see similiar SO question)中的设置可以获得目标结果。
但在你的情况下,克隆的能力(如果我们谈论的不是Jenkins内置的克隆)并不自动等于推送权利。
请看一些设置:
1.尝试使用
--verbose
标志推送1.检查你使用的是哪个键。你是否为这个通过标志指定了自定义标识?
1.检查密钥的权限(如果它直接添加到存储库)/用户,并确保您具有写入权限。