gpt4 book ai didi

ant - 应该如何设置 Jenkins 中的 Ivy 构建项目?

转载 作者:行者123 更新时间:2023-12-04 06:05:22 25 4
gpt4 key购买 nike

我正在运行以下版本:

  • Jenkins v1.440
  • Jenkins Ivy 插件 v1.20

  • 我目前正在尝试构建的 SVN 分支如下所示:
  • 分支
  • 产品
  • 模块1
  • module1.build( Ant 构建文件)
  • ivy.xml (module1 ivy 描述 rune 件)
  • 模块2
  • module2.build( Ant 构建文件)
  • ivy.xml(module2ivy 描述 rune 件)
  • 模块3
  • module3.build( Ant 构建文件)
  • ivy.xml(module3ivy 描述 rune 件)

  • 目前我已经在 J​​enkins 中建立了单独的 Ivy 项目来检查 SVN 中的每个模块,然后直接运行 ant 构建文件。这很好用(尽管我没有看到任何模块依赖项)。

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

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

    这将如何与多个 SVN 位置一起使用? Ivy 能否在其他 SVN 位置找到模块依赖项?如果我有同一个组件的多个分支怎么办? Ivy 是否只是在特定路径中的所有 Ivy 描述 rune 件中搜索二进制依赖项?

    如果您需要任何其他信息来帮助,请告诉我。

    最佳答案

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

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

  • 创建一个智能地委托(delegate)给所有 Ivy 模块的分支级构建文件。
  • 标准化每个模块中的 Ant 构建文件名(例如 build.xml),并让 Jenkins Ivy 插件将每个模块构建作为单独的作业运行。

  • 有关如何执行 #1 的示例,请参见:
  • Ivy 文档 - http://ant.apache.org/ivy/history/latest-milestone/tutorial/multiproject.html
  • Jenkins Ivy 项目中的示例 - https://github.com/jenkinsci/ivy-plugin/tree/master/src/test/resources/example-project

  • 要执行 #2,您可以展开 Ivy Project 作业配置的 Ivy Module Configuration 部分中的 Advanced 部分,并选中“Build modules as separate jobs”选项。您的 Ant 构建文件名需要在每个模块中相同,理想情况下,要调用的目标和 ivy.xml 文件的位置也相同(尽管如果需要,可以在每个模块中覆盖最后两个)。从那时起,作业配置中的所有路径都必须与每个模块目录相关(例如,归档的工件将只是“target/**”或其他任何内容,并且在构建后将应用于每个模块)。

    要处理同一组 Ivy 模块的多个分支,您需要为每个分支创建一个单独的 Ivy 项目,并在 Ivy 项目配置中为“Ivy 分支”字段指定唯一值。

    关于ant - 应该如何设置 Jenkins 中的 Ivy 构建项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420862/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com