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。