Jenkins远程执行shell脚本,超时报错(ERROR: Exception when publishing, exception message [Exec timed out or was i

文章描述了在使用Jenkins进行远程脚本执行时遇到的任务超时问题,导致Jenkins显示构建失败,但实际上脚本在服务器上执行正常。通过将超时时间调整为1200000ms,成功解决了这个问题,确保远程shell脚本的执行时间不超过Jenkins任务的配置限制。

通过Jenkins远程执行脚本时,发现Jenkins构建任务失败,但是服务器本身的脚本是生效的。

排查确认是Jenkins构建任务超时,导致Jenkins看板显示任务构建失败,但是服务器上的自动脚本执行完全正常。


1. 问题描述:

  Jenkins任务看板:

   查看该构建任务的控制台输出

   控制台输出日志:

Started by user 王志宇
Running as SYSTEM
Building in workspace /root/.jenkins/workspace/create_database_10.16.23.163(志宇)
SSH: Connecting from host [qy-ggyf-zyl-32]
SSH: Connecting with configuration [10.16.23.163] ...
SSH: Disconnecting configuration [10.16.23.163] ...
ERROR: Exception when publishing, exception message [Exec timed out or was interrupted after 120,001 ms]
Finished: UNSTABLE

2. 问题解决: 

  调整超时时间为1200000ms(20分钟),默认为120000ms(2分钟)

  再次构建任务,构建成功。


重点是:远程shell脚本执行时间不能 超过Jenkins任务配置的超时时间。

### 解析 Jenkins 部署错误 `Exec exit status not zero. Status [127]` 当遇到 Jenkins 报错 `Exec exit status not zero. Status [127]` 时,这通常意味着命令未找到。此状态码表明 shell 尝试执行不存在的命令或路径不正确[^1]。 #### 可能的原因 - 脚本中指定的命令不在系统的 PATH 环境变量内。 - 使用了相对路径而该路径在运行环境中不可访问。 - 执行权限不足,导致无法启动脚本或程序。 #### 解决方案 为了修复这个问题,可以采取以下措施: ##### 修改环境配置 确保所有必要的工具已安装并位于系统的 PATH 中。可以通过更新 `.bashrc`, `.zshrc` 或其他相应的初始化文件来设置 PATH。 ##### 检查绝对路径 如果使用特定路径调用命令,则应验证这些路径对于构建节点来说是有效的。考虑切换成绝对路径而非相对路径以减少不确定性。 ##### 设置可执行权限 确认目标脚本具有适当的读取和执行权限。可以在部署之前通过如下命令赋予相应权限: ```shell chmod +x /path/to/your/script.sh ``` ##### 审核脚本内容 有时脚本内部可能存在拼写错误或其他语法问题,特别是当从不同平台移植过来的时候。建议按照以下方法清理潜在的非法字符: 打开终端进入 `deploy.sh` 文件所在目录后输入命令编辑文件 `vi deploy.sh` 。将原始内容保存至纯文本文件再重新粘贴回去能够有效去除隐藏字符[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值