我正在运行 maven 发布插件(org.apache.maven.plugins:maven-release-plugin:2.3.2)并注意到当通过传递时,scm 的密码以明文形式保存在 release.properties 文件中命令行。我想知道是否有办法关闭它。
我正在使用 Hudson 来自动化发布过程,并且通过 Hudson 将 svn 用户名和密码传递到命令行。原因是做发布准备的人可以改变,我有多个 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 文件是在 release:prepare 期间创建的,但我认为没有必要,因为我正在通过命令行传递所有信息。创建此 release.properties 文件时,它包含纯文本密码。这是有问题的,因为可以使用 hudson 浏览工作区,因此任何有权访问 hudson 的人都可以通过浏览器打开文件来查看密码。
有没有办法不创建 release.properties 文件,或者不将密码保存在文件中?我意识到可以将加密密码保存在 settings.xml 文件中,但该文件在多个作业之间共享,并且运行作业的人员无法编辑。