首页 > 解决方案 > go: 在声明性 Jenkinsfile 中找不到

问题描述

我在 Docker 上运行 Jenkins,并且在 github 上有以下 Jenkinsfile

node {
    def root = tool name: 'Go 1.12.6', type: 'go'

    ws("${JENKINS_HOME}/jobs/${JOB_NAME}/builds/${BUILD_ID}/src/github.com/project/repo") {
        withEnv(["GOROOT=${root}", "GOPATH=${JENKINS_HOME}/jobs/${JOB_NAME}/builds/${BUILD_ID}/", "PATH+GO=${root}/bin"]) {
            env.PATH="${GOPATH}/bin:$PATH"

            stage('Clone repository') {
                checkout scm
            }


            stage('Test repo') {
                sh 'go test -v'
            }

            stage('Build image') {
                app = docker.build("docker/repo")
            }


            stage('Push image') { */
                docker.withRegistry('https://registry.hub.docker.com', 'docker-hub-credentials') {
                    app.push("${env.BUILD_NUMBER}")
                    app.push("latest")
                }
            }
        }
    }
}

但无论我尝试什么,我都会收到以下错误:

+ go version
/var/jenkins_home/jobs/repo/builds/45/src/github.com/project/repo@tmp/durable-00e72894/script.sh: line 1: go: not found

标签: dockergojenkinsjenkins-pipeline

解决方案


詹金斯重启可能只是修复它


推荐阅读