【问题标题】:Changing github credentials for Jenkins更改 Jenkins 的 github 凭据
【发布时间】:2016-04-22 19:57:21
【问题描述】:

我是 Jenkins 的新用户,请多多包涵。

为我们设置 Jenkins 的员工辞职了,我们取消了他对我们 github 存储库的访问权限。但是他已经将我们的自动构建配置为以他自己的身份访问 git,所以现在当然失败了。我进入项目设置并为确实有权访问我们的 github 存储库的用户添加了一个新凭据,以及他们的 github 密码,然后我将该用户的 ssh 密钥安装到了 github。现在,当构建运行时,我得到了这个:

权限被拒绝(公钥)。

我还需要做什么来切换访问我们的 repo 以进行构建的用户?如何查看“权限被拒绝”的内容?

【问题讨论】:

  • 请注意,如果您设置了 GitHub SSH 密钥(这违背了密钥的用途),则无需提供 GitHub 密码。您在哪里尝试添加 GitHub 密码?
  • 在项目配置的凭据部分。

标签: git github jenkins jenkins-plugins


【解决方案1】:

在 Jenkins 上设置用户的 GitHub SSH 密钥:

  1. Add your user's SSH key to the GitHub account.

  2. 在您的 Jenkins 作业配置中,转到 Source Code Management > Git

  3. 验证 Repository URL 是 GitHub SSH URL(而不是 HTTPS)。

  4. 凭据旁边,点击添加。 (请注意,您也可以以管理员身份从 Manage Jenkins > Manage Credentials 修改这些密钥。)

  5. 添加凭据对话框中,填写如下字段:

    • 种类 - 带有私钥的 SSH 用户名
    • 用户名 -
    • 私钥 - 直接输入
    • 密码短语 -
    • 描述 -
  6. 将 GitHub 用户的私钥文件的内容复制并粘贴到 私钥 的文本框中。这应该以--BEGIN RSA PRIVATE KEY-- 开头并以--END RSA PRIVATE KEY-- 结尾。

    它应该是这样的:

  7. 点击添加。这会将凭据添加到 凭据 下拉列表中。

  8. Credentials 下拉列表中,选择新添加的密钥,该密钥由之前输入的用户名和描述标识。选择密钥后,如果密钥无效,Jenkins 应该内联显示一条错误消息(在这种情况下,我建议验证 GitHub 中的公钥是否正确输入,而 Jenkins 中的私钥是否正确)。

  9. 保存作业配置。

【讨论】:

  • 牛顿第四定律:当涉及到 CI-CD 系统或其他任何基础设施设置时,切勿使用个人的密钥对。创建一个不受离开公司或被卡车碾过的情况影响的抽象用户。为这个任意用户生成密钥对并使用它。
  • 这适用于哪个版本的 Jenkins?
猜你喜欢
  • 2016-02-27
  • 2016-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-04
  • 2016-12-09
  • 1970-01-01
相关资源
最近更新 更多