1

我已经设法将使用 Jenkins 的 CI 系统与使用 Artifactory 插件将生成的 .jar 上传到 Artifactory 的 Ant 构建系统拼凑在一起。

我现在需要另一个构建,它也是 Ant 来使用 build.xml 中的目标从工件中检索最新的 jar。

我可以找到很多关于如何上传的文章,但很少有关于解决的文章。

我发现的最接近的是http://wiki.jfrog.org/confluence/display/RTF/Working+with+Ivy 但这主要处理重要区域的上传,屏幕截图没有数据(或者我的 Artifactory 是我无法更新它)并处理获取 ivy 或 pom 文件。

我是蚂蚁/常春藤菜鸟,所以任何如何将目标放在一起的指针将不胜感激。

4

1 回答 1

4

我假设您已经安装了 ivy

常春藤设置.xml

您需要在名为ivysettings.xml的文件中定义一个解析器来制作工件(将其放在根文件夹中,在 build.xml 旁边):

<ivysettings>
        <resolvers>
          <ibiblio name="artifactory" m2compatible="true" root="http://localhost:8080/artifactory/libs-releases"/>
        </resolvers>
</ivysettings>

构建.xml

在您的 build.xml 中,我将使用内联检索(这样您就不必编写ivy.xml):

<project xmlns:ivy="antlib:org.apache.ivy.ant" name="myName">

    ...

    <target name="retrieve" description="retrieve">
      <ivy:settings /> <!-- needed so that ivysettings.xml is used-->
      <ivy:retrieve organisation="foo" module="bar" inline="true" pattern="lib/[artifact].[ext]"/> 
    </target>
</project>

这会将工件下载到 lib 目录中。对于组织和模块,取您在工件中找到的值。

来自工件的组织和模块

在您提供的链接的这张图片中,您可以看到如何从工件中获取组织和工件。它将为您提供一个依赖声明框。只需检查常春藤并从那里获取值。

在此处输入图像描述

于 2012-04-24T07:57:29.997 回答