bash - Jenkins - 执行 Shell 构建步骤不起作用

标签 bash shell jenkins

我正在尝试在 Jenkins 中创建一个作业来执行一个简单的 shell 脚本。然而, Jenkins 似乎实际上并没有对我的脚本做任何事情。无论我在执行 Shell 命令部分输入什么值,Jenkins 总是说它通过了。即使我输入像“RandomBogusFilename.sh”这样的虚假文件名,它也会说工作成功了。

谁能指出我做错了什么以及如何让 Jenkins 实际使用我的 shell 脚本?

shell 脚本、作业配置和控制台输出均如下所示。我目前正在尝试在 Windows Server 2008 R2 Standard 计算机上执行此操作。

谢谢。


我的.sh 文件

文件名: SurveyToolRequest.sh
文件位置:/jobs/Jeff Shell 脚本测试/workspace
描述: 点击网址并检索 HTTP 响应。然后打印出 HTTP 响应。


#!/bin/bash

response_code=$(curl -s -o /dev/null -w "%{http_code}" http://SOME-WEBSITE.COM)
echo "The response code is " $response_code  



我的 Jenkins 作业配置


Jenkins Job Config




Jenkins 控制台输出


enter image description here


最佳答案

我尝试过这个,发现如果我指定脚本的路径它就可以工作。如果脚本位于您作业的工作区目录中,

./surveyToolRequest.sh

应该在 Jenkins 查找相对于工作空间根目录的文件时工作。

更常见的做法是将脚本文件目录的内容放入作业配置中;这样你就可以看到工作正在做什么,并且可以避免像这样的问题。

关于bash - Jenkins - 执行 Shell 构建步骤不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27412349/

相关文章:

Bash 脚本将目录中的所有 flv 文件转换为 mp3

bash "map"相当于 : run command on each file

Bash:在字符串中执行复杂命令,捕获输出并返回代码

linux - 使用命令的 tcsh 登录 shell

java - jelly:使用 JSON 对象创建表

linux - 如何计算 Bash 变量中的字符数

ruby - Ubuntu 在启动时启动 Rails

postgresql - 修改pg_hba.conf

java - 在Java中测试MongoDB : concurrency problems

.net - 是否有任何代码覆盖工具可以让我按行排除代码?