【问题标题】:How to build a SVN project which depends on another SVN multi module project in Jenkins?如何在 Jenkins 中构建一个依赖于另一个 SVN 多模块项目的 SVN 项目?
【发布时间】:2016-05-16 08:19:26
【问题描述】:

我的多模块项目结构是:

Parent project - MyProj
  |
  |- ChildProj1
  |
  |- ChildProj2

另一个项目TestProj 依赖于child1child2

那么,TestProj POM 文件中的 POM 依赖项应该是什么,以便 Jenkins 在使用 Jenkins 构建和执行测试用例时检测并包含 child1child2 SVN 项目?我在 Jenkins 中创建了两个项目。 TestProj 的构建在 MyProj 构建完成时触发。但是,它似乎不起作用。 TestProj POM 中的依赖关系应该是什么?我给出了以下依赖项:

<dependencies>
    <dependency>
        <groupId>proj1</groupId>
        <artifactId>child1</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>test</scope>
        <systemPath>https://subversion.assembla.com/svn/child1/pom.xml</systemPath>
    </dependency>
    <dependency>
        <groupId>proj1</groupId>
        <artifactId>child2</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>test</scope>
        <systemPath>https://subversion.assembla.com/svn/child2/pom.xml</systemPath>
    </dependency>

【问题讨论】:

    标签: maven svn jenkins


    【解决方案1】:

    只能在位于本地的jar 文件上建立依赖关系。如果你需要 systemPath,你可以使用它,但应该防止它......如果你需要它们,因为看起来你应该创建多模块构建。

    + (root) pom.xml (modules)
       !
       +-- child1 (pom.xml)
       !
       +-- child1 (pom.xml)
    

    它被签入到 SVN 中,其中root 在 svn 存储库的trunk 中...

    【讨论】:

    • 我们实现的项目结构是多模块项目,包含其他项目正在使用的所有基本功能,其中包含随时间增长的测试用例那么,是否有可能集成这样的Jenkins 中的项目结构,用于构建和测试用例执行而无需重组?
    • 对于 Jenkins 中的此类构建,您只需要 Jenkins 中的一个作业...可以运行所有测试...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 2021-10-17
    相关资源
    最近更新 更多