代码之家  ›  专栏  ›  技术社区  ›  Idan Adar

在Docker的Jenkins探员身上找不到

  •  0
  • Idan Adar  · 技术社区  · 5 年前

    docker:stable-dind 以阿尔卑斯山3.10为基础。 Full Dockerfile .

    在Dockerfile I install Go中: RUN apk add go

    go version , go env GOROOT 等等。。。我得到了一些结果。 1.12.6 , /usr/lib/go .

    然后我尝试在詹金斯使用这个代理,然后打印 env 验证上述环境变量是否存在,但它们不存在且也存在 go版本 失败`。

    因此,我更新了Jenkins中的Docker代理模板:

    • GOROOT : /usr/lib/go公司
    • PATH : /bin/sonar-scanner/bin/:/usr/local/bin:$GOROOT/bin:$PATH

    现在检查时 环境 他们在那里。。。

    GOROOT=/usr/lib/go
    PATH=/bin/sonar-scanner/bin/:/usr/local/bin:/usr/lib/go/bin:/bin:/usr/bin:/sbin:/usr/sbin
    GOPATH=/home/jenkins/workspace/go test
    

    go版本

    GOPATH $WORKSPACE 如果这真的有效,我将在那里克隆Go项目源代码。

    这是詹金斯的工作:

    #!groovy
    
    pipeline {
      agent {
        label 'cli-agent'
      }
    
      stages {
        stage ("test") {
          steps {
            script {
              withEnv(["GOPATH=${WORKSPACE}"]) {
                 sh """
                    env
                    go version
                 """
              }
            }
          }
        }
      }
    }
    
    0 回复  |  直到 5 年前