Jenkins构建后通过SSH发包报错exception message [Exec exit status not zero. Status [127]]解决方法

文章描述了在配置Jenkins项目时,使用PublishoverSSH插件向服务器推送文件遇到的错误,错误信息为Execexitstatusnotzero,状态码127表示找不到执行文件。解决方案是正确配置执行文件的路径。经过修改配置后,构建成功完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

 jenkins配置好项目后,使用Publish over SSH插件推送到服务器指定目录的时候报错。

Console Output报错信息:ERROR: Exception when publishing, exception message [Exec exit status not zero. Status

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  48.400 s
[INFO] Finished at: 2023-04-14T09:33:24Z
[INFO] ------------------------------------------------------------------------
SSH: Connecting from host [jenkins-6869f47d99-2fcgm]
SSH: Connecting with configuration [containerd master] ...
SSH: EXEC: completed after 201 ms
SSH: Disconnecting configuration [containerd master] ...
ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [127]]
Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
Finished: UNSTABLE

原因分析

[127]代表的意思是没有找到执行文件的目录,那么把执行文件配对了就能解决。

解决办法

我当前的Publish over SSH插件配置如下:

修改后的配置:

重新build之后成功!

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  45.924 s
[INFO] Finished at: 2023-04-14T09:47:04Z
[INFO] ------------------------------------------------------------------------
SSH: Connecting from host [jenkins-6869f47d99-2fcgm]
SSH: Connecting with configuration [containerd master] ...
SSH: EXEC: completed after 54,291 ms
SSH: Disconnecting configuration [containerd master] ...
SSH: Transferred 1 file(s)
Finished: SUCCESS

### 解析 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]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值