我在urltest.sh
中保留一个名为/var/lib/jenkins
的shell脚本文件,并从jenkins
build执行该文件。
当我执行构建时,它失败了。
The Environment Variables are -
HOME - /var/lib/jenkins ;
JENKINS_HOME - /var/lib/jenkins
控制台输出如下:
Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/AutoScript
[AutoScript] $ /bin/sh -xe /tmp/hudson2777728063740604479.sh
+ sh urltest.sh
sh: 0: Can't open urltest.sh
Build step 'Execute shell' marked build as failure
Finished: FAILURE
我很困惑,我应该保留shell脚本文件,以便执行它。
答案 0 :(得分:35)
根据此问题的观看次数,看起来有很多人正在访问此内容,以了解如何设置执行shell脚本的作业。
这些是在Jenkins中执行shell脚本的步骤:
在textarea中,您可以粘贴脚本或指示如何运行现有脚本。所以你可以说:
#!/bin/bash
echo "hello, today is $(date)" > /tmp/jenkins_test
或只是
/path/to/your/script.sh
点击保存。
现在,新创建的作业应该与其他作业一起出现在Jenkins的主页面中。打开它并选择立即构建以查看它是否有效。完成从构建历史记录中选择特定构建并读取控制台输出以查看是否所有内容都按预期发生。
您可以在GitHub中的文档Create a Jenkins shell script job中获取更多详细信息。
答案 1 :(得分:18)
如果您看到错误消息,则说明
在工作区中构建/ var / lib / jenkins / workspace / AutoScript
根据您的意见,您已将urltest.sh放入
的/ var / lib中/詹金斯
因此Jenkins无法找到该文件。 在你的构建步骤中做这件事,它会起作用
cd # which will point to /var/lib/jenkins
./urltest.sh # it will run your script
如果仍然失败,请尝试选择文件,因为jenkin用户可能没有文件权限,但我认为如果您执行上述步骤,则可以运行。
答案 2 :(得分:6)
Managed Script Plugin提供了一种管理用户脚本的简便方法。它还添加了一个构建步骤操作,允许您选择要执行的用户脚本。
答案 3 :(得分:2)
以前的答案是正确的,但这是执行此操作的另一种方法以及一些提示:
选项1 转到您的Jenkins职位并搜索“添加构建步骤”,然后将脚本复制并粘贴在那里
选项#2 转到Jenkins,然后再次执行“添加构建步骤”,但是这次将您脚本的完全限定路径放在示例中:./usr/somewhere/helloWorld.sh
需要注意的事项/提示: