在使用 SCM 轮询时,如何在 Jenkins 中使用 ssh-agent?

5
我正在使用Jenkins ssh-agent插件,以便为我的构建提供ssh凭据,这很完美地运作,但是我已经设置它来轮询scm(在这种情况下是bitbucket git)以检查更改。
当然,为了访问仓库以轮询更改,它还需要那些ssh凭据,在wiki中似乎找不到任何相关内容,但必须有一种方法来实现这一点。
看起来他们没有实现这样的事情是非常愚蠢的,毕竟如果你需要ssh凭证来克隆和构建,你也需要它们来轮询,对吗?
4个回答

4

回答过时了吗? - Simon Forsberg

2

假设您的任务运行在Jenkins主服务器上。 为了能够轮询需要SSL连接的Git仓库:

  1. 备份您的私钥。
  2. 使用这种解决方案去除私钥中的密码。
  3. 将无密码私钥添加到Jenkins服务器的Jenkins主目录+.ssh子文件夹中,例如对于CentOS,它位于/var/lib/jenkins/.ssh。确保只有jenkins用户可以访问该密钥(使用chmod 600,并为此使用chown jenkins:jenkins)。
  4. 在Jenkins凭据管理器中添加新的SSH密钥,并指定刚配置的私钥的完整位置,例如 /var/lib/jenkins/.ssh/id_rsa。
  5. 设置您的任务并为Git仓库设置和SSH代理插件指定这些凭据。

完成这些步骤后,您就能够在必要时执行轮询以触发任务,并从任务本身进行克隆和提取操作。


1

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接