Ras*_*nke 20 git authentication maven maven-release-plugin
我们正在使用Jenkins,只是从没有身份验证的基于文件的git repo切换到使用GitBlit通过http进行适当的身份验证.
问题是 - maven如何在批处理模式下验证自己?
使用-Dusername和更新每个作业-Dpassword(并因此将密码存储在作业中)似乎不太可行.我已经读过settings.xml应该通过将git服务器指定为id来使用git,但是无论我做什么都没有效果(即发布插件提示输入凭据).
<properties>
<project.scm.id>git</project.scm.id>
</properties>
<scm>
<connection>scm:git:http://myserver:8081/r/gitauthtest.git</connection>
<developerConnection>scm:git:http://myserver:8081/r/gitauthtest.git</developerConnection>
</scm>
Run Code Online (Sandbox Code Playgroud)
<settings>
<servers>
<server>
<id>git</id>
<username>myUser</username>
<password>myPassword</password>
</server>
</servers>
</settings>
Run Code Online (Sandbox Code Playgroud)
有没有办法让这个工作?我无法相信一项简单且极为常见的任务,因为它没有简单的标准解决方案.
khm*_*ise 33
根据您必须使用特殊属性的文档,在settings.xml文件中project.scm.id定义相应服务器条目的ID .
<properties>
<project.scm.id>my-scm-server</project.scm.id>
</properties>
Run Code Online (Sandbox Code Playgroud)
以及settings.xml文件中的以下内容:
<settings>
<servers>
<server>
<id>my-scm-server</id>
<username>myUser</username>
<password>myPassword</password>
</server>
</servers>
</settings>
Run Code Online (Sandbox Code Playgroud)
BTW:检查您是否使用最新版本的maven-release-plugin.project.scm.id增强功能是在2.3版本中作为MRELEASE-420票证的一部分引入的.例如,如果您使用的是Maven 3.0.5,那么默认情况下您只使用maven-release-plugin的2.0版本.太老了.通过在POM中添加如下内容来修复:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
</plugin>
</plugins>
</pluginManagement>
</build>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19224 次 |
| 最近记录: |