我的工作场所将Hudson用于其日常构建,其中有几个构建奴隶(一个Linux,一个Windows,一个Mac),从svn检查我们的完整代码库并在每天午夜构建我们的应用程序。这一切运作良好。我该如何确保我的所有哈德森版本的奴隶都能检查出日常版本的相同svn版本?
虽然有时会发生偶尔的问题...有时开发人员工作会很晚,并会在午夜之后检查svn的更改。发生这种情况时,可能会有一些每日构建的从站在svn提交处理之前执行它们的“svn checkout”,而其他构建从站将在处理提交之后执行它。发生这种情况时,我们会在不同的平台上构建不同的修订版本。 Mac版本可能是SVN版本5555的版本,而Windows版本最终是SVN版本5556的版本。这很糟糕,因为我们希望给定日期的所有日常版本都基于相同的代码库。
我想一种避免这种情况的方法是禁止开发人员在11:30 PM和12:30 AM之间承诺svn,但我更喜欢更优雅的解决方案,而不依赖于开发人员的行为。有一个吗?特别是,如果有一种方式可以告诉hudson检查当天午夜当前代码的修订版本(例如“svn co -r {”the-current-date“}”),而不是检出HEAD,我认为这可能会诀窍。
有没有一种常见/简单的方法来处理这个问题?
在凌晨1点开始构建? :) – 2010-08-02 22:13:32
大声笑,这是一个很好的。我希望他们没有问题,以便开发者在那里直到下午1点甚至更晚。 ;) – 2010-10-06 17:45:56