我有一个带有Jenkins Maven Repository Server插件的密码保护的jenkins服务器。我的问题是,因为它受密码保护,我无法从maven(ContaisAnyFilter
)
我尝试了什么:
- Putting the server credentials in the .m2/settings.xml
- 基本身份验证:Could not transfer metadata <metadata> from/to <repo-name> (http://ci.mydomain.com/plugin/repository/everything/): Access denied to: <repo>/<identifier> , ReasonPhrase:Forbidden.
- 没有任何身份验证
没人工作......
任何帮助将不胜感激。
编辑:
我的settings.xml:
http://<user>:<password>@ci.mydomain.com/<repo>
和我的pom.xml
<settings>
<servers>
<server>
<id>test-ci</id>
<username>jenkins</username>
<password>password</password>
</server>
</servers>
</settings>
答案 0 :(得分:1)
今天在这个问题上挣扎了几个小时,终于找到了答案。
首先,要使用HTTP基本身份验证,您需要提供用户和 API令牌作为密码。你可以在&#34; Manage Jenkins&#34; - &GT; &#34;管理用户&#34; - &GT; &#34;编辑用户&#34; (用户旁边的设置图标) - &gt; &#34;显示API令牌&#34;。
其次,Jenkins正在使用抢先身份验证,这意味着没有HTTP身份验证协商,但您需要立即在第一个请求中发送凭据。您可以在此处阅读:https://wiki.jenkins.io/display/JENKINS/Authenticating+scripted+clients
要相应地配置Maven存储库,请确保使用以下服务器配置:
<server>
<id>test-ci</id>
<username>YOUR_USER</username>
<password>YOUR_API_TOKEN</password>
<configuration>
<httpConfiguration>
<all>
<usePreemptive>true</usePreemptive>
</all>
</httpConfiguration>
</configuration>
</server>
这应该有效。我希望我可以帮助你:)。
答案 1 :(得分:0)
你应该注意Jenkins Maven Repository Server不能作为Maven Repository执行,所以如果这是你需要的(Maven回购) - 这个Jenkins插件将无济于事。
我建议阅读Maven Repos;从你写的内容我认为内部存储库(例如Nexus,Artifactory)可能是好的。 Maven默认从Maven Central下载JAR,因此您不必(也不应该)下载所有源并构建它们。