jenkins - groovy 脚本似乎超时(詹金斯)
问题描述
我在使用 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>
.
推荐阅读
- python - pyspark-如何计算百分比
- javascript - 当我在 React 中更改回选项卡时,无法读取未定义的属性“0”
- javascript - 使用模式中的属性来计算 Mongoose 中特定模式的属性值
- python - 如何在python中通过Xpath获取div之间的文本
- java - FitNesse 不调用重载方法
- odoo-14 - Odoo14 | 找不到唯一 ID base.user_admin 的记录
- php - 传递给 (Symfony) Response::setContent() 的参数必须是字符串类型或 null,给定对象
- mongodb - Mongodb聚合按$match选择记录并在满足查询时包括其他记录?
- typescript - 如何提示该函数检查变量是否未定义?
- serial-port - 在Linux Uart(串行通信)中,我们可以改变数据包之间的时间间隔吗