我正在使用Jenkins主/从设置。我希望詹金斯有一个凭据信息的“来源”。密钥/密码并非遍布整个地方。
因此,我不想在Jenkins中定义我的SCM(使用来自Jenkins凭据提供程序的凭据),然后再根据作业在pom.xml / settings.xml / id_rsa.pem中定义。每个人都喜欢按照自己的方式做事,最后我们会得到密钥文件或密码的副本。迟早有人将pom推到公共回购中,我们的服务器受到了损害......
我看不到一种可维护的方法,可以将Jenkins的凭据从某个地方获取,maven release插件可以使用它们。我错过了什么? (当试图将标签推送到git时,maven发布失败
[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR] Permission denied (publickey).
)
我显然可以定义一个安装在包含pem的slave上的“文件”(我可以想到几种方法)但是当我们旋转键以记住它在多个位置时,我有一个维护问题。否则,快照工作一个月,然后发布失败,没有人能够解释为什么mvn突然无法推送到git。
(注意它只是密钥登录,没有密码)
答案 0 :(得分:9)
整个上午花了很多时间试图解决这个问题,然后在“构建环境”部分找到“SSH代理”复选框。勾选它,并给出正确的凭证,它的工作原理。 我考虑过删除这个问题,但在阅读了很多其他高维护建议(涉及.pem文件的副本)后,我以为我会离开它。
答案 1 :(得分:-3)
我很惊讶没有人对此有好的答案。 ssh-agent插件(https://wiki.jenkins-ci.org/display/JENKINS/SSH+Agent+Plugin)确实提供了使用ssh密钥推送maven插件中的更新的解决方案。它还将涵盖需要ssh密钥身份验证的任何其他用例。