Kin*_*ick 33 svn version-control maven-2 maven-scm
是否有一种外部化我的SCM凭证的方法,因此它们不存储在项目的POM中?问题是如果它们包含在项目的POM中,那么在部署项目时,所有人都可以看到它们.
Phi*_*oin 59
对于某些SCM提供商,您可以在以下<servers>部分中指定您的凭据settings.xml.作为<id>使用存储库的域名.这对我来说很有用.SubVersion也有效.
例如,鉴于我的pom.xml包含:
<scm>
<connection>scm:hg:http://jukito.googlecode.com/hg/</connection>
<developerConnection>scm:hg:https://jukito.googlecode.com/hg/</developerConnection>
<url>http://code.google.com/p/jukito/source/browse/</url>
</scm>
Run Code Online (Sandbox Code Playgroud)
然后我可以这样指定我的凭据settings.xml:
<server>
<id>jukito.googlecode.com</id>
<username>philippe.beaudoin</username>
<password>1234567890ABC</password>
</server>
Run Code Online (Sandbox Code Playgroud)
01e*_*1es 20
我意识到这个问题已经过时,答案已被接受,但为了完整起见,我想提供以下备选方案,在某些情况下可能更为可取.
有时会发生同一服务器用于多种目的,这需要不同的用户凭据.例如,它用于托管Nexus驱动的Maven存储库以及为同一用户具有不同凭据的SVN服务器.在这样的情况下,将需要数<server>项与同id和username,但不同的password.然而,这是不可行的.
行家释放插件支持的标志username和password可作为的一部分来提供release:prepare和release:perform命令.值username和password应该与相应的SVN凭证匹配.
mvn release:prepare -Dusername=[username] -Dpassword=[password]
Run Code Online (Sandbox Code Playgroud)
这可以为许多SCM提供者完成,我假设Subversion是基于您的标记的实现.
您可以在$ user.home/.scm/svn-settings.xml(或[maven home] /conf/.scm/svn-settings.xml)中定义Subversion设置,但这意味着它们仍然可供用户看到系统)
在该文件中,您可以设置Subversion服务器的用户名和密码.文件内容应如下所示:
<svn-settings>
<user>[svn user]</user>
<password>[svn password]</password>
</svn-settings>
Run Code Online (Sandbox Code Playgroud)
您可以在该配置文件中定义一些其他属性.有关更多详细信息,请参阅Subversion SCM页面的"提供程序配置"部分.
其他SCM提供程序也有类似的方法,例如在CVS中,设置存储在cvs-settings.xml中的相同位置(.scm文件夹),有关详细信息,请参阅CVS SCM页面.
| 归档时间: |
|
| 查看次数: |
42349 次 |
| 最近记录: |