【问题标题】:How to filter SVN branch in Hudson's POLL SCM?如何在 Hudson 的 POLL SCM 中过滤 SVN 分支?
【发布时间】:2010-06-03 07:31:02
【问题描述】:

我们在托管多个项目的 SVN 存储库上使用 Hudson。即使没有更改任何文件,其中一个项目也需要很长时间才能构建。现在,Hudson 的“Poll SVN”检测到 subversion 存储库已更改,并将尝试构建项目,即使该更改位于不同的项目中。

有没有办法将“轮询 SCM”设置为仅响应某个分支中的更改?

【问题讨论】:

    标签: svn continuous-integration hudson


    【解决方案1】:

    您如何配置项目的 Repository URL (http://subversion.server/svn/project/trunk) 还是您的存储库的主路径 (http://subversion.server/svn)?

    如果您的项目由分布在存储库中的不同模块组成,您需要通过添加更多 SVN 位置来单独配置每个位置。

    【讨论】:

    • 它设置为主干,但该主干由许多相关的应用程序组成。大多数应用程序的构建时间都很短,但其中一个项目需要很长时间。将其移至别处不是一种选择,因为其他项目都依赖于它。
    • 所以只需构建一个项目。 'subversion.server/svn/trunk/Long_Project'
    • 我相信他想要构建所有东西,但 Long_Project
    • 你说其他项目都依赖于long的。如果长期项目不依赖于小项目,则有 2 个工作,1 个用于长期项目,1 个用于所有其他项目。如果小型项目的工作由于长项目中的代码更改而被触发,那不是问题,因为它们都依赖于长项目。 long 会在需要构建时进行构建,因为只有在代码发生更改时才会触发它。如果您需要更多帮助,请指定您使用的编程语言,依赖项是什么,是否使用 maven ......本质上,更详细。
    【解决方案2】:

    如果您的存储库如下所示:

    svn://svn-server/repo/trunk/project-one/
    svn://svn-server/repo/trunk/project-two/
    svn://svn-server/repo/trunk/very-big-project/
    svn://svn-server/repo/branches/project-one/
    svn://svn-server/repo/tags/
    (etc.)
    

    然后像这样设置哈德森:

    存储库网址:svn://svn-server/repo/trunk/very-big-project

    如果项目是独立的(并且不需要分支和标记在一起),则为每个项目设置单独的主干可能更有意义:

    svn://svn-server/repo/project-one/trunk/
    svn://svn-server/repo/project-one/branches/
    svn://svn-server/repo/project-one/tags/
    svn://svn-server/repo/project-two/trunk/
    svn://svn-server/repo/project-two/branches/
    (etc.)
    

    那么哈德森就是

    存储库网址:svn://svn-server/repo/very-big-project/trunk

    【讨论】:

      猜你喜欢
      • 2011-03-06
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多