我们计划为 Go 项目设置 Jenkin 构建过程。我在 jenkins 中设置自定义工作区并从“全局工具配置”安装 go1.6。
我在执行 go build
时收到错误消息
下面是GOPATH和GOROOT
GOPATH /var/lib/jenkins/workspace/project/go
GOROOT /var/lib/jenkins/workspace
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)
我在这里缺少什么?..感谢您的帮助..
最佳答案
除了让 Go 插件处理您的 GOROOT 之外,在获取依赖项时,GOPATH 也有一些细微差别。我们将 *.go 源文件放在 Git 存储库的根目录中,因此可以通过 Dev 桌面上的 go 命令轻松管理它们。因此,我使用构建脚本通过符号链接(symbolic link)欺骗 Go 认为/src/main 下有一个名为 main 的包,这样我就可以使用相同的脚本来构建我所有的 go 包并拉取依赖项。这是我的构建脚本:
#!/usr/bin/bash
导出 GOPATH=$WORKSPACE
mkdir -p $GOPATH/源代码
ln -f -s $WORKSPACE $GOPATH/src/main
去获得主要
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main main
关于go - Jenkins 为 Go 项目build设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37262712/