无法使用相同的凭据将代码推送到 git 存储库

问题描述 投票:0回答:1

我创建了一个 Jenkins 作业,它执行将 Sprint 代码合并到 master 的任务。 我已经创建了一个凭证 - 比如说 XXX(带有私钥和公钥的 SSH),并完美地指定了所有细节 - BitBucket 中的公钥和 Jenkins 中的私钥

当我运行作业时,它会执行以下操作:

  1. 使用创建的凭据 (XXX) 将代码提取到工作区 => 做得很好
  2. 将 Sprint 代码合并(使用 --no-commit)到 master => 完美地完成
  3. 将代码推送给master。 => 错误

但是在第 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 可以毫无问题地签出/下载代码,为什么不能使用相同的凭据进行推送并引发错误?

这是真正的错误还是误导性的错误?

github jenkins bitbucket
1个回答
0
投票

值得一提的是,可以通过管道/jenkins GUI中的设置来获得目标结果(参见类似的SO问题

但是在你的情况下,克隆能力(如果我们谈论的不是詹金斯内置的克隆)并不自动等于推送权限。

请查看一些设置:

  1. 尝试用
    --verbose
    旗子推动
  2. 检查您使用哪个键。您是否通过标志为此指定自定义身份?
  3. 检查密钥的权限(如果它直接添加到存储库)/用户并确保您具有写入权限。
© www.soinside.com 2019 - 2024. All rights reserved.