怎么为Gizub私有存储库验证Jenkins CI?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

我希望Jenkins自动从Github上托管的私人存储库中获取数据。但我不知道如何完成这项任务..试了文档,为jenkins用户生成ssh-key,但我看到的是:unable to clone the repo。

提问于
用户回答回答于

也许GitHub对部署密钥的支持会有用。

现在的技术部分:如何在Jenkins上使用SSH密钥?

如果你有一个jenkinsunix用户,你可以存储你的部署密钥~/.ssh/id_rsa。当Jenkins试图通过ssh拷贝repo时,它会尝试使用该密钥。

在某些设置中,你无法将Jenkins作为自己的用户帐户运行,并且可能也无法使用默认的ssh密钥位置~/.ssh/id_rsa。在这种情况下,你可以在不同的位置创建一个密钥,例如~/.ssh/deploy_key,并配置ssh为在以下位置使用该密钥~/.ssh/config

Host github-deploy-myproject
    HostName       github.com
    User           git
    IdentityFile   ~/.ssh/deploy_key
    IdentitiesOnly yes

因为你所有使用Github存储库进行身份验证,git@github.com并且不希望上述密钥用于所有与Github的连接,所以我们创建了一个主机别名github-deploy-myproject。你的拷贝网址现在变成了

git clone github-deploy-myproject:myuser/myproject

用户回答回答于

扫码关注云+社区