1

我有一个 grails 1.3.8 项目,我正在尝试使用 jenkins 进行自动化测试。我也在尝试使用 jenkin 的 svn 插件,这就是问题的开始。无论出于何种原因,我的 grails 项目的插件都难以获取,通常需要运行应用程序几次才能全部获取(我知道这很糟糕,但我无法更改)。如果我让插件为每个插件手动运行以下命令,我可以让项目在 jenkins 中运行;

grails install-plugin $PLUGINNAME

我希望我的项目自然地轮询我们的 svn 存储库。但是,即使使用该选项;

Use 'svn update' as much as possible

svn 完全踩到了整个工作区,杀死了所有东西,包括导致构建失败的插件,因为它永远无法从一次 svn 中获取它们。我已经为此苦苦挣扎了好几天,也尝试过 jenkins 高级命令

    SCM checkout retry count : 5

但这根本不会“似乎”改变构建的结果。

任何帮助将不胜感激。

Jenkins 配置详细(屏幕截图太小而无法阅读)

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**

*Grails 1.3.8 在我的 jenkins 版本中的管理 jenkins 选项卡下指定。但我已经测试并验证它设置正确。

** 指向我项目 api 的位置。这是我要测试的 grails 项目,它位于 jenkin 的工作空间内,但不是其中唯一的东西。这就是我在这里指定它的原因。

4

1 回答 1

1

我正在使用 Grails 2.x,并且在解决插件依赖项时没有此类问题。

在 Jenkins 中寻找解决方案时,我发现了naginator插件:

允许您在构建失败后自动重新安排构建。这在几种情况下很有用,包括:

构建依赖于暂时不可用的外部资源(数据库停机、网络停机、网站停机等)。用户希望在构建修复之前连续发送电子邮件,以促使人们采取行动。

我没有经过测试,但我认为您将被允许自动重试构建,直到它成功。

于 2012-09-25T19:15:43.190 回答