You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins执行ssh启动sh脚本构建成功但后端未实际运行

Jenkins SSH执行脚本显示成功但未实际运行的排查方案
  • 修正命令引号格式
    你当前命令用了中文单引号‘’,这会导致Jenkins解析异常,换成英文单引号后重试:

    ssh -T username@ip 'sh /path/file.sh'
    
  • 验证Jenkins用户的SSH权限

    • 确认Jenkins运行用户的公钥已添加到目标服务器username用户的~/.ssh/authorized_keys中,避免因权限不足导致静默失败
    • 在Jenkins机器上,以Jenkins用户身份手动执行SSH命令,模拟Jenkins的执行环境:
      su - jenkins -c "ssh -T username@ip 'sh /path/file.sh'"
      
  • 捕获脚本执行日志
    修改命令将脚本输出重定向到日志文件,方便排查具体错误:

    ssh -T username@ip 'sh /path/file.sh > /tmp/script_run.log 2>&1'
    

    之后登录目标服务器查看/tmp/script_run.log,确认是否存在环境变量缺失、路径错误等问题。

  • 检查脚本路径与权限

    • 确认/path/file.sh的绝对路径无拼写错误,目标服务器上该文件确实存在
    • 检查脚本执行权限:
      ssh -T username@ip 'ls -l /path/file.sh'
      
      若缺少执行权限,执行chmod +x /path/file.sh添加权限。
  • 处理非交互式Shell的环境差异
    手动执行脚本用的是交互式Shell,会加载~/.bashrc等配置文件,但SSH非交互式登录仅加载~/.bash_profile或/etc/profile。如果脚本依赖特定环境变量,可在脚本开头添加:

    source ~/.bashrc
    

内容的提问来源于stack exchange,提问作者White Devil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 22:40:40