我有一个grails 1.3.8项目,我正在尝试使用jenkins自动测试。我也在尝试使用jenkin的svn插件,这就是问题的开始。无论出于何种原因,我的grails项目的插件难以拾取,并且通常需要运行应用程序几次以获取所有这些(我知道的很糟糕,但我不能更改)。如果我为每个插件手动运行以下命令,我可以让项目在jenkins中工作;
grails install-plugin $PLUGINNAME
我希望我的项目能够自然地轮询我们的svn repo。但即使使用该选项;
Use 'svn update' as much as possible
svn完全踩到整个工作区杀死所有内容,包括导致构建失败的插件,因为它永远无法从svn的一次性中获取所有内容。几天来我一直在努力奋斗,并且还尝试过jenkins高级命令
SCM checkout retry count : 5
但这似乎并不“似乎”改变构建的结果。
非常感谢任何帮助。
詹金斯配置详细(屏幕截图太小而无法阅读)
Advanced
Retry Count
SCM checkout retry count: 5
Source Code Management
Subversion
Repo URL : http://$IP/$MYAPP
Check out strategy: Use 'svn update' as much as possible
Repository Browser: Auto
Build
Build With Grails
Grails Installation: Grails 1.3.8*
Non Interactive: True (checked)
Targets: "test-app -unit"
server.port: 9144
grails.project.work.dir: target
Project Base Dir: ./app-api**
*我的jenkins版本在manage jenkins选项卡下指定了Grails 1.3.8。但我已经测试并验证它设置正确。
**指向我项目的api的位置。这是我要测试的grails项目,它位于jenkin的工作区内,但不是唯一的东西。这就是我在这里指定它的原因。
答案 0 :(得分:1)
我正在使用Grails 2.x,并且在解决插件依赖项方面没有这类问题。
在Jenkins中寻找解决方案我找到了naginator插件:
允许您在构建失败后自动重新安排构建。 这在几种情况下都很有用,包括:
构建依赖于外部资源,这是暂时的 不可用(DB down,网络关闭,网站关闭等)。 用户希望在修复构建之前发送连续的电子邮件,以便 促使人们采取行动。
我没有经过测试,但我认为您可以自动重试构建,直到成功为止。