jenkins搭建go代码持续集成环境
最近刚刚学会go的编译方法,网上有很多讲go编译的,但是发现找到一个适合小白的还是不那么容易。我这里抛砖引玉做个开始吧。
总结起来5步完成go的代码持续集成。
1. 下载代码到jenkins工作区的src目录下
git下载代码的时候一定要把代码放到独立的src目录下,后面是项目名称。
2.设置GOPATH,把jenkins的工作区当作GOPATH起始目录
export GOPATH=$WORKSPACE
export PATH=$GOPATH:$PATH
echo "GOPATH: ${GOPATH}"
3. 执行go mod init (可选)
如果当前代码路径下,没有go.sum, go.mod,需要执行这一步
4. 执行go mod tidy 下载项目需要的各种依赖包
这一步有时候需要反复执行; 有时候反复执行也不行,仍然需要修改go.mod文件,替换掉出错的依赖包.
可以参考:
Go modules 包依赖管理
一般问题都会在这一步。
5. 到程序的入口代码处执行go build
这里必须强调是程序的入口代码处,因为不是所有项目都会在当前路径下创建程序入口main.go的。我碰到公司的一个项目就没有main.go,而是在一个包starter下有个starter.go作为入口。
我得到这个starter.go的目录下,执行go build,才编译成功。