groovy 脚本似乎超时 (jenkins)
groovy script seems to timeout (jenkins)
我在使用 groovy 脚本时遇到了一些问题;
sh '''
echo \'Starting script\';
sleep 5;
echo \'pwd\';
sleep 5;
pwd;
sleep 5;
find / -name jenkins.war -type f;
sleep 5;
'''
执行时间较长的命令总是会导致管道失败;除 find
之外的所有命令都 运行 成功。在日志(浏览器)中,在管道失败之前显示了一些文件并显示消息:
Jenkins build has status: FAILURE. Notifying Bitbucket with state: FAILED.
问题是无法直接访问 jenkins 服务器(没有简单的方法来检查日志)。
我不确定我是否以正确的方式进行此操作,但是否有任何设置可能导致此类行为?
有一种更优雅、更准确、性能更高的方法来获取 Jenkins 的版本:
stages {
stage('Jenkins version') {
steps {
print "${Jenkins.getInstance().getVersion()}"
}
}
}
控制台输出
...
[Pipeline] stage
[Pipeline] { (Jenkins version)
[Pipeline] echo
2.303.2
...
注意:getInstance()
和 getVersion()
必须得到 Jenkins 管理员的批准。
您还可以 curl https://JENKINS_URL/about/
并提取包含 <td>org.jenkins-ci.main:jenkins-war:2.303.2</td>
的 element/line。
我在使用 groovy 脚本时遇到了一些问题;
sh '''
echo \'Starting script\';
sleep 5;
echo \'pwd\';
sleep 5;
pwd;
sleep 5;
find / -name jenkins.war -type f;
sleep 5;
'''
执行时间较长的命令总是会导致管道失败;除 find
之外的所有命令都 运行 成功。在日志(浏览器)中,在管道失败之前显示了一些文件并显示消息:
Jenkins build has status: FAILURE. Notifying Bitbucket with state: FAILED.
问题是无法直接访问 jenkins 服务器(没有简单的方法来检查日志)。
我不确定我是否以正确的方式进行此操作,但是否有任何设置可能导致此类行为?
有一种更优雅、更准确、性能更高的方法来获取 Jenkins 的版本:
stages {
stage('Jenkins version') {
steps {
print "${Jenkins.getInstance().getVersion()}"
}
}
}
控制台输出
...
[Pipeline] stage
[Pipeline] { (Jenkins version)
[Pipeline] echo
2.303.2
...
注意:getInstance()
和 getVersion()
必须得到 Jenkins 管理员的批准。
您还可以 curl https://JENKINS_URL/about/
并提取包含 <td>org.jenkins-ci.main:jenkins-war:2.303.2</td>
的 element/line。