maven release plugin release.properties文件包含未加密的密码

时间:2013-02-12 20:12:01

标签: maven-release-plugin

我正在运行maven发布插件(org.apache.maven.plugins:maven-release-plugin:2.3.2)并注意到scm的密码以明文形式保存在release.properties文件中通过命令行传入。我想知道是否有办法将其关闭。

我正在使用Hudson自动执行发布过程,并且svn用户名和密码通过Hudson传递到命令行。原因是执行发布准备的人可以更改,我有多个hudson作业共享一个settings.xml来发布不同的项目。

我传递的参数如下: -Dtag = $ {svn.label} -DreleaseVersion = $ {maven.releaseVersion} -DdevelopmentVersion = $ {maven.developmentVersion} -Dusername = $ {svn.username} -Dpassword = $ {svn.password} -DscmCommentPrefix ='[ maven-release-plugin] $ {env.BUILD_URL}'

release.properties文件是在发布期间创建的:prepare,但我不认为它是必要的,因为我在命令行中传递了所有信息。创建此release.properties文件时,它包含纯文本密码。这是有问题的,因为可以使用hudson来浏览工作区,因此任何有权访问hudson的人都可以通过浏览器打开文件来查看密码。

有没有办法不创建release.properties文件,或者不在文件中保存密码?我意识到加密的密码可以保存在settings.xml文件中,但是这个文件在多个作业之间共享,并且不能由运行作业的人编辑。

2 个答案:

答案 0 :(得分:0)

我们避免了让svn-client为我们缓存密码的问题。

为此目的,我们拥有一个在颠覆方面拥有足够权利的特殊帐户。

在我们的构建服务器上,密码由svn-client以明文形式存储在运行hudson的用户的帐户中。对我们来说没问题,因为只有哈德森管理员才能访问此帐户。

但您也可以配置svn-client来存储加密的密码。配置取决于您的操作系统。

svn-client配置存储在.subversion(linux)或“ApplicationData / Subversion”(windows)中。

请参阅 hereherehere

答案 1 :(得分:0)

就在几天前,有人要求改进:https://jira.codehaus.org/browse/MRELEASE-846

相关问题