2017-01-16 124 views
3

我正在使用Jenkins主/从设置。我希望詹金斯拥有一个“信息源”来获取凭证。没有钥匙/密码分散在整个地方。与jenkins奴隶和凭证Maven发布:如何将SCM凭证传递给maven?

因此,我不想在Jenkins中定义自己的SCM(使用Jenkins凭证提供程序提供的凭据),然后再根据作业在pom.xml/settings.xml/id_rsa.pem中定义。每个人都喜欢用自己的方式做事,最终我们会得到密钥文件或密码的副本。迟早有人推动一个POM公共回购和我们的服务器被盗用...

我看不到一个可维护的方式获取证书出Jenkins到某处maven发布插件可以使用它们。我错过了什么?

我能明显定义大干快上包含PEM从安装了“文件”(我能想到的几种方法 (试图把标签与git

[ERROR] The git-push command failed. 
[ERROR] Command output: 
[ERROR] Permission denied (publickey). 

当Maven发行失败)要做到这一点),但是当我们旋转键来记住它位于多个位置时,我会感到头痛。否则,快照工作一个月,然后发布失败,没有人可以确定为什么mvn突然不能推入git。

(仅NB它的键登录,没有密码)

+0

如果你使用git,你不能使用SSH密钥? –

+0

是的,我使用ssh密钥。但是如何将.pem文件从“Credentials”中移出到构建从站上? –

+0

你的答案当然是我的意思。 :) :) –

回答

5

整个上午都在试图弄清楚这一点,然后发现“构建环境”部分的“SSH代理”复选框。勾选它,并提供正确的凭据,它的工作原理。 我考虑删除这个问题,但在阅读了很多其他高维护建议(涉及.pem文件的副本)后,我想我会放弃它。

+2

对于那些没有看到SSH代理选项的用户,只需要安装https://plugins.jenkins.io/ssh-agent插件即可。 mvn发布正在运行,因为我们的发言和标签已经取得成功,这要归功于这个答案。 –

-3

我很惊讶没有人有这个好的答案。 ssh-agent插件(https://wiki.jenkins-ci.org/display/JENKINS/SSH+Agent+Plugin)确实提供了使用ssh密钥推送maven插件中更新的解决方案。它还将涵盖需要ssh密钥身份验证的任何其他用例。

+0

我很惊讶你没有看到已经接受的自我回答,提到这件事情。 –