我似乎无法在Jenkins中运行构建执行shell步骤。我以前在Windows上和Hudson一起工作过,我能够毫无问题地创建shell /批处理步骤,但我似乎在这里遗漏了一些东西。
这是一个新的jenkins安装,我去“添加构建步骤”,“执行shell”并在命令中输入“echo hi”。我运行构建,当我查看控制台输出时,没有任何反应。
我也尝试过执行一个test.sh文件,这个文件也只是回应了嗨。我已经在linux安装和os X安装的Jenkins服务器上测试了这个。
运行shell脚本的配置中缺少什么?
控制台输出显示已完全跳过shell脚本步骤
Started by user admin
Finished: SUCCESS
答案 0 :(得分:5)
看起来Jenkins无法重定向系统的输出。您使用的是哪个版本的Java?如果您正在使用OpenJDK,您可以尝试使用Sun Java / Sun JDK吗?
首先尝试检查是否正在执行任何操作:将以下内容添加到"执行Shell"
#!/bin/bash
echo "HELLO WORLD" > /tmp/testfile
运行此命令并检查Linux系统上是否有/ tmp / testfile,如果它包含HELLO WORLD
文本,则表示您的脚本实际上正在执行。
你有哪个版本的詹金斯?
我能证明的最后一个好的版本(我认识的最后一个版本至少对我们来说效果很好)是1.447。如果你不使用那个,你能尝试吗?
另外,您可以在#!/bin/sh
之前在{34}执行Shell"上添加#!/bin/bash
或echo hi
吗?对于Linux系统,看看是否有效。
另外,尝试使用source /path/to/script
运行脚本,看看是否有效。该脚本应包含#!/bin/sh
或#!/bin/bash
作为第一行,以确定是否会产生影响。
注意:这些都不是必需的,但仅仅是为了获得有关正在发生的事情的更多信息。无法将所有这些都纳入评论。我会根据您对上述内容的回答更新我的回答,或者如果我无法获得任何内容,请删除...
答案 1 :(得分:2)
把这个放在后面。
我有一个配置了Maven运行clean test
的Jenkins项目和前步骤中的执行shell。来自Maven的日志没有通过,脚本没有执行。一旦我在Maven构建选项下取消选中Build modules in parallel
,我的日志和脚本就开始工作了。
答案 2 :(得分:0)
确保它位于Jenkins可以看到的位置,检查权限。