我正在使用Jenkins ssh-agent插件,以便为我的构建提供ssh凭据,这完全可以正常工作,但是我将它设置为轮询scm(在本例中为bitbucket git)以检查更改。
当然要访问repo以便轮询更改它还需要那些ssh凭据,我似乎无法在wiki中找到与此相关的任何内容,但必须有办法这样做。
对于他们来说,没有实现它似乎是一件愚蠢的事情,毕竟如果你需要ssh凭证来克隆和构建你还需要他们进行轮询吗?
答案 0 :(得分:4)
从SSH密钥中删除密码短语是一个不可接受的步骤。
预计jenkins ssh-agent plugin可以解决这个问题,但据我所知,它目前在轮询方面有所不足:
https://issues.jenkins-ci.org/browse/JENKINS-21226
我没有找到一种可行的,安全的方法来实现基于ssh的服务器通信,该通信也涵盖了从Jenkins 1.545开始的轮询。
答案 1 :(得分:2)
假设您的作业在Jenkins上运行。 能够为需要SSL连接的Git仓库进行轮询:
完成这些步骤之后,您可以在必要时进行轮询以触发Job,以及从Job本身进行克隆和提取。
答案 2 :(得分:1)
编辑:虽然下面的解决方案显然适用于该JIRA问题的评论者,但它并不适合我。您的里程可能会有所不同。
在作业的“配置”页面的“其他行为”下,添加“使用工作区强制轮询”
似乎自2014年9月开始提供。
答案 3 :(得分:0)
git插件信息本身有很多关于SSH密钥的信息:
https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
基本上,您需要在运行jenkins的CI用户上安装密钥。 (未集成SSH凭据插件。)