Jenkins为Go Projects构建设置

ram*_*omu 5 go jenkins jenkins-plugins

我们计划为Go Projects设置Jenkin Build流程.我在jenkins中设置了Custom Workspace,并从"Global Tool Configuration"安装了go1.6.

执行时我收到错误消息go build 下面是GOPATH和GOROOT

GOPATH /var/lib/jenkins/workspace/project/go
GOROOT  /var/lib/jenkins/workspace
Run Code Online (Sandbox Code Playgroud)
ain.go:20:2: cannot find package "bytes" in any of:
    /var/lib/jenkins/workspace/src/pkg/bytes (from $GOROOT)
    /var/lib/jenkins/workspace/project/go/src/bytes (from $GOPATH)
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?...感谢您的帮助..

小智 5

除了让Go插件处理你的GOROOT之外,GOPATH在获取依赖关系方面也有一些细微差别.我们正在把我们的Git仓库的根我们.去*源文件,所以他们很容易通过管理上开发去命令桌面.所以,我正在使用构建脚本来欺骗Go认为通过符号链接在/ src/main下有一个名为main的包,这样我就可以使用相同的脚本构建我所有的go包并拉出依赖项.这是我的构建脚本:

#!/usr/bin/bash export GOPATH=$WORKSPACE mkdir -p $GOPATH/src ln -f -s $WORKSPACE $GOPATH/src/main go get main CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main main