2010-07-26 42 views
2

我有哈德森运行构建一旦任何存储库的变化。哈德森 - 周末版本与连续版本(短时间)

我想在周末每周运行一次,但需要更长时间的更特殊的测试,并且我不希望在每次源存储库发生更改时运行。

有没有一种方法可以选择运行哪些测试或让它查看我在构建之前设置的一些环境变量,以便知道运行其他测试。

或者最好将这些长测试分隔到自己的存储库中,并创建一个新的周末版本。我使用maven而不是ant。

想法?

请谢谢。

回答

1

你如何运行测试?你打电话mvn clean install,maven是否有魔力?如果是这样,您可以通过运行mvn clean install -Dmaven.test.skip=true来跳过测试。据我所知,这至少会跳过单元测试。如果你有的所有测试都是单元测试,那么你必须将它们从构建阶段中分离出来。你可以通过mvn构建目标。

这绝对是一个maven问题。先熟悉Maven生命周期,或者找一个更熟悉Maven的人。黄金法则是,当你能够从命令行运行构建步骤时,你也可以使用Hudson来完成它。

+0

谢谢。我感谢您的帮助。我会研究你的建议。 – myusuf3 2010-07-26 18:44:24

0

我会把一个变量从Hudson作业传递给Ant任务。

+0

我将如何与JUnit做到这一点?请更清楚地回答你的问题。 – myusuf3 2010-07-26 16:25:49

+0

@garbagecollector:请不要成为一个帮助吸血鬼。 – 2010-07-26 16:37:51

+1

@保罗·纳森诚实地说,无论他说什么都是脱节和无用的。我问了一个问题。如果您想回答您的问题,欢迎致电。如果没有,请在途中。看着太多黄昏保罗? – myusuf3 2010-07-26 17:40:57

4

有没有一种方法可以选择运行哪些测试或让它查看我在构建之前设置的一些环境变量,以便知道运行其他测试。

Maven Surefire Plugin不支持Inclusions and Exclusions of Tests,所以你可以把一个特定的配置在配置文件和配置Hudson来运行你的周末构建使用此配置。这在我看来是实现你的用例的方式。

+0

我看了看,但这需要维护具有不同参数的同一文件的两个副本。 – myusuf3 2010-07-26 21:10:12

+1

@garbagecollector:嗯......不,这个解决方案不需要维护两个副本......顺便说一下。这个解决方案完全解决你所要求的。不得不保留两份我不知道因为你没有表达的一些约束而只需要什么。我不知道如何跳过所有测试来解决您的问题。 – 2010-07-26 21:37:54