Apache Ivy:指向存储库管理器

时间:2012-02-21 19:18:08

标签: java ant configuration ivy artifactory

我正在尝试将Ivy配置为与Artifactory(一个受欢迎的存储库管理器)很好地协作,并且需要确认我正在朝着正确的道路前进。

我假设一旦我在我的存储库服务器上正确配置了Artifactory,我就可以将Ivy指向ARTIFACTORY_HOME下的某个目录,并传递与普通URL解析器相同的信息。这样,Artifactory就会传递信息(要处理的命令,用户名和密码等),并代表实际的存储库。 (因此,如果凭据错误或用户无权接受请求,Artifactory会发回404 /等。)

首先,如果这是错误的,请纠正我!

所以这就是我的想法。在我的项目的Ant构建中:

<ivy:settings url="http://my-repo-server.com/ivy/settings/ivy-settings.xml"/>

<target name="ivy-resolve">
    <ivy:configure host="http://my-repo-server.com/ivy"
        realm="ivy"
        username="developer" <!-- "developer" is read-only user configured in Artifactory -->
        passwd="38ur84u83j38y83u" <!-- encrypted password provided by Artifactory -->
        override="false"/>
    <ivy:resolve file="ivy.xml" conf="compile"/>
</target>

然后,在(服务器端)ivy-settings.xml

<resolvers>  
    <url name="repo-server">
        <ivy pattern="http://my-repo-server.com/ivy/???"/>
        <artifact pattern="http://my-repo-server.com/ivy/???"/>
    </url>
</resolvers>

因此,当开发人员的Ant构建运行ivy-resolve目标时,Ivy客户端知道在哪里找到ivy-settings.xml文件,并使用developer用户和加密密码配置自己我在Artifactory中设置了。

唯一的问题是,我不确定要为Ivy&amp; amp;设置文件中的工件模式?我假设我必须将它们设置为由Artifactory控制的某个目录,但我不确定是什么(在Artifactory中我的repo使用默认的Ivy repo布局)。

另外,我是否像我一样将设置文件放在repo服务器上,违反了Artifactory“最佳实践”?我应该将它放在一些Artifactory管理(隐藏)目录中吗?如果是这样,在哪里以及为什么?

最终,代码示例可以帮助我学习最快速度和最快速度。最简单的(我是一个图形学习者),因此非常感谢任何正确方向的程序性推动!

提前致谢!

0 个答案:

没有答案