繁体   English   中英

Maven与jenkins slave和Credentials一起发布:如何将SCM凭证传递给maven?

[英]Maven release with jenkins slave and Credentials : how to pass SCM credentials to maven?

我正在使用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。

(注意它只是密钥登录,没有密码)

花了整整一个上午试图解决这个问题,然后在“构建环境”部分找到“SSH代理”复选框。 勾选它,并给出正确的凭证,它的工作原理。 我考虑过删除这个问题,但在阅读了很多其他高维护建议(涉及.pem文件的副本)后,我以为我会离开它。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM