Jenkins中我的SCM配置的服务器上下文是什么

时间:2016-06-08 14:20:56

标签: git jenkins gerrit

我们正在使用Jenkins进行CI构建。我们使用GIT作为我们的SCM(实际上是Gerrit代码审查),到目前为止我们使用的是git协议,因此涉及的安全性不高。我们已决定开始使用ssh,但它无法正常工作。当构建试图从Gerrit存储库中提取时,我们会收到错误,指示Jenkins用户无法进行身份验证。

我知道在Gerrit中我们必须设置一个用户并为用户存储SSH密钥。我不确定的是该用户是谁。

显然我们有一个Jenkins服务器,但我们也有一个不同的服务器(Jenkins的奴隶)作为工作区。我不确定哪个服务器是在构建开始时尝试轮询Git的服务器。我在两台服务器上都生成了SSH密钥,并尝试将这两个密钥与Gerrit中的用户相关联,但无论如何我都会收到错误。

所以我的问题是:当Jenkins中的构建尝试从SCM轮询时,是否必须访问该服务器的主Jenkins服务器还是工作区?

1 个答案:

答案 0 :(得分:1)

您使用的是Git Plugin,对吧?

...所以你的问题的答案是:两者。当您在作业配置页面中时,Jenkins SERVER会尝试使用服务器用户和ssh密钥验证“存储库URL”。执行作业时,Jenkins SLAVE使用slave用户和ssh密钥克隆存储库。使用Git和SSH(或HTTPS)的最佳方法是使用“凭据”功能(Credentials Plugin)。