Windows上的Jenkins Shell可执行参数

时间:2018-11-13 21:11:20

标签: windows jenkins cygwin

我在Windows 7上运行Jenkins服务器(v 2.138)。我还安装了cygwin。 cygwin路径位于Windows路径中,因此Jenkins作业可以调用cygwin可执行文件。

我的问题是:为什么在Build操作中,当我设置“ Execute shell”操作时,生成的调用(由构建控制台输出确认)类似于:

sh -xe C:\Windows\TEMP\jenkins8280072687577604153.sh

我了解根据作业配置中输入的内容生成的临时脚本。我不明白的是传递给sh的“ -xe”参数。

据我所见,这些选项似乎可以打印内部命令输出。类似于在Windows中打开ON?但是,这有污染我们的构建日志的不利影响。

例如:

职位配置:

echo X > a.txt
echo X > b.txt
echo X > c.txt
grep X $( find -name "*.txt" )

结果日志:

+ echo X
+ echo X
+ echo X
++ find -name '*.txt'
+ grep X ./a.txt ./b.txt ./c.txt
./a.txt:X
./b.txt:X
./c.txt:X

如果可能,我只想得到:

./a.txt:X
./b.txt:X
./c.txt:X

在我的机器上,我得到:

$ sh --version
GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)
Copyright (C) 2016 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.

因此,我查看了bash手册页,但是找不到对-x或-e选项的任何引用。

您对我如何告诉Jenkins直接调用脚本有什么建议吗?

sh C:\Windows\TEMP\jenkins8280072687577604153.sh

或者,如果不可能的话,我该如何在工作中覆盖这些设置,以仅打印相关的控制台输出,而不打印任何中间内容。

谢谢!

0 个答案:

没有答案