我正在運行maven版本插件(org.apache.maven.plugins:maven-release-plugin:2.3.2),並注意到scm的密碼已保存在通過命令行傳遞時,在release.properties文件中以明文顯示。我想知道是否有辦法解決這個問題。maven版本插件release.properties文件包含未加密的密碼
我使用Hudson來自動執行發佈過程,並通過Hudson將svn用戶名和密碼傳遞到命令行。原因是做發佈準備的人可以更改,並且我有多個共享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來瀏覽工作區,所以任何有權訪問哈德森的人都可以通過瀏覽器打開文件來查看密碼。
有沒有辦法不創建release.properties文件,或不保存密碼在文件中?我意識到加密的密碼可以保存在settings.xml文件中,但是這個文件在多個作業中共享,並且不能由運行作業的人員編輯。
您是否使用Maven選項進行密碼加密? (-emp, - encrypt-master-password加密主安全密碼 -ep, - encrypt-password 加密服務器密碼) –
bmargulies
2013-02-12 20:13:23