3

有没有人测试过如何在启用了安全性的 Archiva 中部署工件。我有以下配置

我的 ivysettings.xml

<ivysettings>
  <settings defaultResolver="archiva"/>
  <resolvers>
    <ibiblio name="archiva" 
             m2compatible="true" 
             root="http://localhost:8080/archiva/repository/internal/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/>
  </resolvers>
</ivysettings>

我的 build.xml

<target name="ivy-init">
  <ivy:settings file="${ivy.settings.dir}/ivysettings.xml"  refid="ivy.classpath">
    <credentials host="localhost" 
         realm="Repository Archiva Managed Internal Repository"
                 username="deploy_user" passwd="deploy_pwd" />
  </ivy:settings>             
</target>

<target name="deploy2Archiva" 
         depends="jar,local-maven-version">

   <ivy:makepom ivyfile="${ivy.file}"
         pomfile="dist/demo-core.pom">
       <mapping conf="compile" scope="compile"/>
       <mapping conf="test" scope="test"/>
   </ivy:makepom>


   <ivy:publish 
    resolver="public"
    pubrevision="${version}"
    overwrite="true"    
    pubdate="${now}"
    status="release"
    forcedeliver="true"
    artifactspattern="${dist.dir}/[artifact].[ext]"/>

</target>

我的 Archiva deploy_user 具有“存储库管理员”Archiva 角色,但我收到未经授权的消息。事实上,凭​​据似乎没有考虑在内,因为如果我将“存储库管理器”设置为来宾 Archiva 用户(未经身份验证的用户),则会部署工件。

Archiva 使用协议 webdav。您是否已使用 Ivy webdav 解析器进行了实验凭据?对此有什么想法吗?

4

2 回答 2

2

凭证元素的领域属性似乎区分大小写,因此您可能想尝试使用领域="Repository Archiva Managed internal Repository"(注意'internal'中的小写'i'!)

于 2009-12-08T10:57:33.940 回答
2

在这方面也遇到了很多麻烦。这是解决方案:

为 Ant 打开调试日志记录 在异常之前查找类似这样的消息:

[ivy:publish] 尝试获取以下凭据:Repository Archiva Managed internal Repository@domain.com

您需要添加到您的 ivysettings.xml 文件中匹配它正在寻找的凭据

<credentials
      host="domain.com"
      realm="Repository Archiva Managed internal Repository"
      username="username"
      passwd="password" />

领域是“Repository Archiva Managed internal Repository”,主机是“domain.com”,替换为调试输出中显示的任何值,以及正确的用户名和密码。

我希望这可以帮助别人!

于 2011-06-06T15:44:57.503 回答