3 回答
TA贡献1875条经验 获得超5个赞
除了让 Go 插件处理您的 GOROOT 之外,在获取依赖项时,GOPATH 也有一些细微差别。我们将 *.go 源文件放在 Git 存储库的根目录中,因此可以通过开发桌面上的 go 命令轻松管理它们。因此,我正在使用构建脚本来欺骗 Go,让 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
TA贡献1880条经验 获得超4个赞
我也使用 jenkin,但自己编写 build.sh。给你一个参考:
build.sh
#!/usr/bin/bash
WORKROOT=$(pwd)
cd ${WORKROOT}
# unzip go environment
go_env="go1.6.2.linux-amd64.tar.gz"
wget -c http://path/to/go/go1.6.2.linux-amd64.tar.gz
tar -zxf $go_env
if [ $? -ne 0 ];
then
echo "fail in extract go"
exit 1
fi
echo "OK for extract go"
rm -rf $go_env
# prepare PATH, GOROOT and GOPATH
export PATH=$(pwd)/go/bin:$PATH
export GOROOT=$(pwd)/go
export GOPATH=$(pwd)
# build
cd path/to/your/project
go build
if [ $? -ne 0 ];
then
echo "fail to go build"
exit 1
fi
echo "OK for go build"
TA贡献1866条经验 获得超5个赞
我建议使用Go Plugin来管理 golang 安装。
安装好后,了解 golang 环境变量及其使用很重要,主要有:
$GOROOT 指定安装 go 的位置
$GOPATH确定您的代码所在的位置并go get安装包,默认情况下它是${HOME}/go
withEnv(["GOROOT=${root}", "PATH+GO=${root}/bin:${HOME}/go/bin"]) {
sh "go get gopkg.in/alecthomas/gometalinter.v1"
sh "gometalinter.v1 --help"
}
通过上面的设置,我们设置GOROOT为自定义go安装并附加$PATH我们使用go get和标准下载的二进制文件的路径go
- 3 回答
- 0 关注
- 227 浏览
添加回答
举报