2009-11-05 78 views
3

是否有人测试过如何在启用安全性的Archiva内部署工件? 我有以下的配置从常青藤部署Artifacts到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的角色,但我得到一个未经授权的消息。 实际上,凭据似乎没有考虑到,因为如果我将“Repository Manager”设置为来宾Archiva用户(未经身份验证的用户),则会部署工件。

Archiva使用协议webdav。您是否拥有常春藤webdav解析程序的实验凭据? 对此有何想法?

+0

我有一个问题,我试图在archiva内部存储库上部署一个工件,并且一切似乎都正常,在存储库/内部/文件夹中找到.jar .pom和.xml文件,但是当我尝试通过ui视图查看文件似乎该文件夹是空的...任何想法为什么? – mautrok 2014-07-25 10:02:50

回答

2

凭据元素的领域属性似乎是大小写敏感的,所以你可能需要使用范围=“库Archiva管理的内部系统信息库”尝试(注意小写的“i”在“内部”!)

2

也有很多麻烦。这里的解决方案:

打开调试日志记录的只是异常之前蚂蚁 查找这样的信息:

[常青藤:发布]尝试获得证书:库Archiva管理的内部信息库@ domain.com

您需要添加到匹配什么它寻找

<credentials 
     host="domain.com" 
     realm="Repository Archiva Managed internal Repository" 
     username="username" 
     passwd="password" /> 
0您ivysettings.xml文件的凭据

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

我希望这可以帮助别人!