Jenkins 中我的 SCM 配置的服务器上下文是什么
What is the server context of my SCM configuration in Jenkins
我们正在使用 Jenkins 进行 CI 构建。我们将 GIT 用于我们的 SCM(实际上是 Gerrit 代码审查),直到现在我们一直在使用 git 协议,因此没有涉及太多安全性。我们已决定开始使用 ssh,但它无法正常工作。当构建尝试从 Gerrit 存储库中拉取时,我们收到错误指示 Jenkins 用户无法通过身份验证。
我知道在 Gerrit 中我们必须设置一个用户并为该用户存储 SSH 密钥。我不确定那个用户是谁。
显然我们有一个 Jenkins 服务器,但我们还有一个不同的服务器(Jenkins 的从服务器)作为工作区。我不确定构建开始时尝试轮询 Git 的服务器是哪个服务器。我在两台服务器上都生成了 SSH 密钥,并尝试将这两个密钥与 Gerrit 中的用户相关联,但无论哪种方式我都收到错误。
所以我的问题是:当 Jenkins 中的构建尝试从 SCM 进行轮询时,是必须访问该服务器的主 Jenkins 服务器还是工作区?
您使用的是 Git Plugin,对吧?
... 所以你的问题的答案是:两者都有。当您在作业配置页面中时,Jenkins 服务器会尝试使用服务器用户和 ssh 密钥来验证 "Repository URL"。执行作业时,Jenkins SLAVE 使用从属用户和 ssh 密钥克隆存储库。使用 Git 和 SSH(或 HTTPS)的最佳方式是使用 "Credentials" 功能(Credentials Plugin)。
我们正在使用 Jenkins 进行 CI 构建。我们将 GIT 用于我们的 SCM(实际上是 Gerrit 代码审查),直到现在我们一直在使用 git 协议,因此没有涉及太多安全性。我们已决定开始使用 ssh,但它无法正常工作。当构建尝试从 Gerrit 存储库中拉取时,我们收到错误指示 Jenkins 用户无法通过身份验证。
我知道在 Gerrit 中我们必须设置一个用户并为该用户存储 SSH 密钥。我不确定那个用户是谁。
显然我们有一个 Jenkins 服务器,但我们还有一个不同的服务器(Jenkins 的从服务器)作为工作区。我不确定构建开始时尝试轮询 Git 的服务器是哪个服务器。我在两台服务器上都生成了 SSH 密钥,并尝试将这两个密钥与 Gerrit 中的用户相关联,但无论哪种方式我都收到错误。
所以我的问题是:当 Jenkins 中的构建尝试从 SCM 进行轮询时,是必须访问该服务器的主 Jenkins 服务器还是工作区?
您使用的是 Git Plugin,对吧?
... 所以你的问题的答案是:两者都有。当您在作业配置页面中时,Jenkins 服务器会尝试使用服务器用户和 ssh 密钥来验证 "Repository URL"。执行作业时,Jenkins SLAVE 使用从属用户和 ssh 密钥克隆存储库。使用 Git 和 SSH(或 HTTPS)的最佳方式是使用 "Credentials" 功能(Credentials Plugin)。