如何向 Jenkins 添加读取退出代码的命令行测试?

如何向 Jenkins 添加读取退出代码的命令行测试?

我想将命令行脚本添加到 Jenkins 作为构建过程的一部分。0如果成功或666失败,此命令行脚本将退出并显示错误代码。如果此脚本失败,我希望停止构建。

是否可以使用 Jenkins 执行此操作? 如果可以,该怎么做?

答案1

您的 bash 构建脚本可以set -e在运行测试之前进行。

set -e如果在构建过程中出现非零退出状态,将导致 Jenkins 停止构建。在项目配置中的 Execute Shell 框中,您将看到类似以下内容:

set -e
yourcommand1
yourcommand2

以下是一些关于 bash 选项的文档

答案2

您需要小心退出超过 255 的代码。退出代码必须在 0-255 范围内。0 表示成功,其他 1-255 表示错误代码。您还必须避免保留错误代码具有一定的含义。

cmp@cmp-dev:~$ bash --version
GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

这是 666 号出口:

$ bash
$ exit 666
exit
$ echo $?
154

它在 255 处结束:

$ bash 
$ exit 256
exit
$ echo $?
0

坚持使用 255 及以下并避免保留错误代码(你认识的魔鬼更好,是吧?)

相关内容