如何设置Hudson为不同的项目使用相同的存储库并维护单独的更改日志? [英] How can I setup Hudson to use the same repository for different projects and maintain separate change logs?

查看:176
本文介绍了如何设置Hudson为不同的项目使用相同的存储库并维护单独的更改日志?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通常设置SVN来托管每个存储库的一个大项目,但是我们的很多基础设施已经改变,我们现在有一个主SVN服务器,有一个层次结构,如




  • 分会

  • 标签

  • 中继


    • Project1


      • 文件&文件夹


    • Project2




      • Project3


        • 文件夹





    < 2和3之间不共享任何东西,它们是独立的项目,每个都有自己的解决方案文件。



    我可以在Hudson中设置项目, p>



    这将为每个项目维护一个单独的工作区,但每次提交到项目2或项目3时,Hudson中的每个项目都会启动一个构建。此外,在仓库中任何地方的任何提交被拉下来并插入到所有的Hudson changelog中。



    我知道最简单的解决方案是简单地分离每个项目进入自己的存储库。但是,如果我不能这样做,由于各种原因,是否有一个可行的方法来实现具有单独的存储库的功能,让我?



    我想提交到项目1的子文件夹只影响项目1.没有其他项目的提交应该导致项目1构建和项目1的更改日志在Hudson应该只有从项目1提交注释。

    解决方案

    您尝试过:



    (job#1)

    存储库网址: http:// server / svn / MainRepository / Trunk / Project1

    本地模块目录):



    (作业#2)

    存储库网址: http:// server / svn / MainRepository / Trunk / Project2

    本地模块目录(可选):



    (job#3)

    存储库网址: http:// server / svn / MainRepository / Trunk / Project3

    本地模块目录(可选):



    将本地模块目录留空。 (您可以填写,但不是必需的)


    I typically setup SVN to host 1 big project per repository but a lot of our infrastructure has changed and we now have one main SVN server that has a hierarchy like so

    • Branches
    • Tags
    • Trunk
      • Project1
        • files & folders
      • Project2
        • files & folders
      • Project3
        • files & folders

    Projects1,2, and 3 do not share anything amongst themselves, they are independent projects each with their own solution file to be built.

    I can setup projects in Hudson like so

    And that will maintain a separate workspace for each project, but every time you commit to Project 2 or Project 3, a build gets kicked off in Hudson for every project based in that repository. Also, any commit made anywhere in the repository is pulled down and inserted into the Hudson changelog for all of them.

    I know the easiest solution would be to simply separate every project into its own repository. However, if I couldn't do that due to various reasons, is there a feasible way to achieve the functionality that having separate repositories gets me?

    I want commits to the sub folder of project 1 to only affect project 1. No other project's commits should cause project 1 to build and project 1's changelog in Hudson should only have commit notes from project 1.

    解决方案

    Have you tried:

    (job#1)
    Repository Url: http://server/svn/MainRepository/Trunk/Project1
    Local module directory (optional):

    (job#2)
    Repository Url: http://server/svn/MainRepository/Trunk/Project2
    Local module directory (optional):

    (job#3)
    Repository Url: http://server/svn/MainRepository/Trunk/Project3
    Local module directory (optional):

    Leave the Local module directory blank. (You could fill it out, but not necessary)

    这篇关于如何设置Hudson为不同的项目使用相同的存储库并维护单独的更改日志?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆