为了账号安全,请及时绑定邮箱和手机立即绑定

Jenkins 为 Go 项目构建设置

Jenkins 为 Go 项目构建设置

Go
FFIVE 2022-01-10 16:47:49
我们计划为 Go 项目设置 Jenkins 构建流程。我在 jenkins 中设置自定义工作区并从“全局工具配置”安装 go1.6。执行时收到错误消息go build 下面是 GOPATH 和 GOROOTGOPATH /var/lib/jenkins/workspace/project/goGOROOT  /var/lib/jenkins/workspaceain.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)我在这里缺少什么?..感谢您的帮助..
查看完整描述

3 回答

?
慕田峪4524236

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


查看完整回答
反对 回复 2022-01-10
?
慕村225694

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"


查看完整回答
反对 回复 2022-01-10
?
心有法竹

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


查看完整回答
反对 回复 2022-01-10
  • 3 回答
  • 0 关注
  • 227 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信