我正在尝试将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管理(隐藏)目录中吗?如果是这样,在哪里以及为什么?
最终,代码示例可以帮助我学习最快速度和最快速度。最简单的(我是一个图形学习者),因此非常感谢任何正确方向的程序性推动!
提前致谢!