Jenkins Shell脚本不是';t登录矩阵项目

Jenkins Shell脚本不是';t登录矩阵项目,jenkins,Jenkins,我有一个简单的矩阵项目与詹金斯创建 我正在尝试执行一个简单的shell脚本。在此之前,我运行svn checkout来获取源代码。我尝试了很多方法来执行shell脚本,但都没有成功。 这意味着我看不到shell脚本的输出 我曾尝试执行以下几行: _make.sh ./_make.sh bash -ex _make.sh #!/bin/sh ./_make.sh 我已经在755上手动chmod了文件(_make.sh),但是没有什么区别 谢谢你的建议 编辑: 我总是得到以下输出: Starte

我有一个简单的矩阵项目与詹金斯创建

我正在尝试执行一个简单的shell脚本。在此之前,我运行svn checkout来获取源代码。我尝试了很多方法来执行shell脚本,但都没有成功。
这意味着我看不到shell脚本的输出

我曾尝试执行以下几行:

_make.sh
./_make.sh
bash -ex _make.sh

#!/bin/sh
./_make.sh
我已经在755上手动chmod了文件(_make.sh),但是没有什么区别

谢谢你的建议

编辑:
我总是得到以下输出:

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/ABC/workspace
Triggering all
all completed with result FAILURE
Finished: FAILURE
_make.sh:


问题:您的脚本是否也从Subversion签出

=====

确保_Make.sh确实在您的工作区中。矩阵作业工作区位于:

http://yourserver.com/jenkins/jobs/<JOBNAME>/label=<SLAVEorLABEL-NAME>/ws/

在你的_make.sh中,确保你有#/bin/bash#/bin/sh取决于您需要什么

您可以尝试查看脚本是否正常工作的另一件事是将以下行添加到脚本并运行它:

echo "A" > test
如果脚本运行后工作区中存在文件测试,并且该测试包含“A”,则脚本正在执行

最后,您的脚本无法执行还有一个原因,尽管这通常会给您一个错误

如果在Windows中创建脚本,则可能会输入错误的行尾。尝试:

dos2unix _make.sh

这将把行尾转换为unix样式。我曾经遇到过这个问题,但对我来说,它显示了一个错误。

据我从您的输出判断,它来自父作业,而不是矩阵子作业(否则它会说“由上游项目启动…”)

您需要访问子控制台输出,然后我确信它将清楚地知道它失败的原因。您可以通过单击父项目中的球来访问子项目,然后查找“控制台输出”链接

或者您可以尝试手动访问它-它将位于
[jenkins\u root]/jobs/[parent\u job\u name]/configurations/**/builds/[build\u id]/log
(其中
**
表示目录树下的任何多级)


请注意,@Sagar建议您的文件必须签出到子项目工作区,而不是父项目工作区。

1)控制台输出是什么?2) 您是否已手动检查该文件是否实际位于工作区中?矩阵构建具有复杂的目录结构。通过单击矩阵中的球转到其中一个子构建,然后单击那里的“工作区”,你看到你的文件了吗?输出请参见上文,是的,文件位于工作区的正确位置。对于你的问题,是的,它来自SVN,但没有区别。我做了一个结帐,之后禁用了SVN。你提到的那些想法对我毫无帮助。测试文件已创建,但在任何情况下都没有控制台输出。我在脚本中用一个简单的回音进行了测试,没有成功。谢谢,到目前为止,这就是问题所在。现在我找到了日志文件,其中包含错误。
source ./_make.sh 2>&1
echo "A" > test
dos2unix _make.sh