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

Jenkins Blue Ocean流水线执行shell脚本时提示‘go: command not found’错误

解决Jenkins Blue Ocean中go: command not found的问题

1. 先确认Jenkins Agent是否安装了Go

登录运行流水线的Jenkins Agent节点(如果是Jenkins master自身作为agent则登录master),执行以下命令:

which go
go version

如果无输出或提示命令不存在,说明该节点未安装Go,先完成安装:

  • 通过系统包管理器安装(例如Ubuntu用apt install golang,CentOS用yum install golang)
  • 或从Go官网下载二进制包,解压到指定目录(如/usr/local/go)

2. 用Jenkins Go插件自动管理环境(推荐)

安装Jenkins的Go Plugin后,在全局工具配置中添加Go安装(可选择自动下载或指定本地已安装路径),然后在Jenkinsfile中通过tools指令自动配置PATH:

pipeline {
    agent any
    tools {
        go 'Go-1.21' // 此处名称需与全局工具配置里的Go安装名称完全一致
    }
    stages {
        stage('Run Tests') {
            steps {
                sh 'go test ./...'
            }
        }
    }
}

3. 手动指定Go路径或修正PATH

若不想使用插件,先在Agent节点上确认Go的实际安装路径(执行which go可得到,如/usr/local/go/bin/go),然后选择以下方式:

  • 直接用Go的绝对路径执行命令:
    sh '/usr/local/go/bin/go test ./...'
    
  • 修正PATH环境变量,确保路径正确:
    sh 'export PATH=$PATH:/usr/local/go/bin && go test ./...'
    
    注意:若你的Go安装路径不是/usr/local/go/bin,替换为实际路径即可

4. 调试环境变量

可在流水线中添加调试步骤,确认PATH和Go的状态:

stage('Debug Env') {
    steps {
        sh 'echo $PATH'
        sh 'which go'
        sh 'go version'
    }
}

通过输出能明确PATH是否包含Go的bin目录,以及Go是否可被找到。

内容的提问来源于stack exchange,提问作者Sajjan Yadav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:35:00