如何设置Jenkins的Ivy构建项目?

时间:2011-12-07 18:55:04

标签: ant continuous-integration jenkins ivy

我正在运行以下版本:

  • Jenkins v1.440
  • Jenkins Ivy Plugin v1.20

我正在尝试构建的SVN中的分支看起来像这样:

  • 分支
    • 产物
      • 模块1
        • module1.build(ant build file)
        • ivy.xml(module1 ivy描述符文件)
      • 模块2
        • module2.build(ant build file)
        • ivy.xml(module2ivy描述符文件)
      • 单词数
        • module3.build(ant build file)
        • ivy.xml(module3ivy描述符文件)

Currenly我在Jenkins中设置了单独的常春藤项目来检查SVN中的每个模块,然后直接运行ant build文件。这工作正常(虽然我看不到模块依赖)。

从插件文档看起来我应该在Jenkins中设置一个常春藤项目,并从SVN中的“branch \ product \”获取,而不是“branch \ product \ module1”,“branch \ product \ module2” “?

如果是这种情况,我如何将这个常春藤项目指向每个组件的每个构建文件?我应该为所有组件使用一个构建文件吗?

如何处理多个SVN位置? Ivy能否在其他SVN位置找到模块依赖项?如果我有相同组件的多个分支怎么办? Ivy是否只是在特定路径中的所有Ivy描述符文件中搜索二进制依赖项?

如果您需要任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:3)

您当前设置它的方式是一种有效的方法(尽管如果您的模块实际上相互依赖,您应该看到作业依赖性)。将其设置为一个多模块常春藤项目是另一个有效选项,其好处是您只需要为每组相关模块管理一个作业配置。

有两种方法可以进行多模块Ivy Build。

  1. 创建一个分支级构建文件,智能地委派给所有常春藤模块。
  2. 在每个模块中标准化您的Ant构建文件名(例如build.xml),并获取Jenkins Ivy插件以将每个模块构建作为单独的作业运行。
  3. 有关如何执行#1的示例,请参阅:

    要执行#2,您可以展开常春藤项目作业配置的常春藤模块配置部分中的高级部分,并检查"将模块构建为单独的作业"选项。您的Ant构建文件名在每个模块中都必须相同,理想情况下,调用目标和ivy.xml文件的位置也是相同的(尽管如果需要,可以在每个模块中覆盖最后两个)。从那时起,作业配置中的所有路径必须相对于每个模块目录(例如,要归档的工件只是"目标/ **"或者其他什么,并且将在每个模块之后应用它建立)。

    要处理同一组常春藤模块的多个分支,您需要为每个分支设置一个单独的常春藤项目,并为常春藤分支指定唯一值#34;常春藤项目配置中的字段。