相关疑难解决方法(0)

如何/何时执行Shell将构建标记为Jenkins中的失败?

我在寻找这个答案时发现的恐怖故事......

好的,我有一个.sh脚本,几乎可以完成Jenkins应该做的所有事情:

  • 检查SVN的来源
  • 建立项目
  • 部署项目
  • 自己清理

所以在Jenkins中我只需要通过在Execute Shell命令中运行脚本来"构建"项目.脚本已运行(源代码已下载,项目已构建/部署)但随后它将构建标记为失败:构建步骤"执行shell"将构建标记为失败即使脚本已成功运行!我尝试用以下方法关闭脚本:

  • 退出0(仍将其标记为失败)
  • 退出1(按预期标记为失败)
  • 根本没有退出命令(将其标记为失败)

Execute Shell何时,如何以及为何将我的构建标记为失败?

unix shell hudson build jenkins

108
推荐指数
2
解决办法
15万
查看次数

在Google Test执行后,Jenkins Build Script退出

我正在通过Jenkins构建一个Qt GUI应用程序.我添加了3个构建步骤:

  • 构建测试可执行文件
  • 运行测试可执行文件
  • 使用gcovr编译覆盖率报告

出于某种原因,运行测试可执行文件的shell任务在执行后停止.即使是简单的echo也不会追求.测试使用Google Test编写并输出xUnit XML文件,这些文件在构建后进行分析.一些测试启动了应用程序用户界面,因此我安装了jenkins xvnc插件以使它们运行.

构建任务如下:

建立

cd $WORKSPACE/projectfiles/QMake
sh createbin.sh
Run Code Online (Sandbox Code Playgroud)

测试

cd $WORKSPACE/bin
./Application --gtest_output=xml
Run Code Online (Sandbox Code Playgroud)

覆盖率报告

cd $WORKSPACE/projectfiles/QMake/out
gcovr -x -o coverage.xml
Run Code Online (Sandbox Code Playgroud)

现在,echo正确打印第一个构建任务echo的末尾,但是在第二个构建任务的末尾则没有.因此,即使Google Test输出可见,第三个构建任务也不会运行.我想也许问题是某些Google测试失败了,但是为什么脚本会因为测试失败而停止执行?

也许有人可以给我一个暗示第二个任务停止的原因.

编辑

控制台输出如下所示:

Updating svn://repo/ to revision '2012-11-15T06:43:15.228 -0800'
At revision 2053
no change for svn://repo/ since the previous build
Starting xvnc
[VG5] $ vncserver :10

New 'ubuntu:10 (jenkins)' desktop is ubuntu:10

Starting applications specified in /var/lib/jenkins/.vnc/xstartup
Log file is /var/lib/jenkins/.vnc/ubuntu:10.log

[VG5] $ /bin/sh -xe …
Run Code Online (Sandbox Code Playgroud)

qt googletest jenkins

7
推荐指数
1
解决办法
9697
查看次数

标签 统计

jenkins ×2

build ×1

googletest ×1

hudson ×1

qt ×1

shell ×1

unix ×1