我已经设置了一个版本控制系统(Subversion),开发人员将使用它来提交和更新他们的代码(假设它的地址是https://server/svn/project).只有经过身份验证的用户才能访问项目的SVN.
另一方面,我已经安装了Hudson作为项目的持续集成服务器(项目的地址是server:8080/job/project).
我想实现以下目标:
我为Hudson用户设置了基于矩阵的授权,因为我不想对任何人开放.
我已经看到了一些关于post-commit钩子的建议,但直到现在它们都没有工作.
有人可以建议对这两个问题做些什么吗?具体步骤将不胜感激.
使用案例:
CI服务器轮询一些VSC存储库并为每个修订运行测试套件.如果提交了两个或多个修订版,即使在相对较小的时间间隔内,我希望CI服务器将每个修订版放入队列中,为每个版本运行测试,存储结果,并且永远不再为这些提交运行测试.我不希望CI服务器并行启动作业,以避免在许多同时作业的情况下出现性能问题和崩溃.
哪个CI服务器能够处理这个?
我的另外一个不那么重要的要求是我使用Python并且希望使用用Python编写的软件,因此我查看了Buildbot项目,我特别想看看这个工具的评论是否可以在一般情况下使用它是否能够取代Travis或Jenkins等大多数流行解决方案.
我想安排一个Jenkins工作,但只有在对SCM进行了新的提交时.或者最好是更灵活的情况:如何运行预定作业,但仅限于另一个作业已成功运行.
一个典型的用例:在夜间部署应用程序,但仅在进行了更改时.