Golang-goland导入k8s源码

前言

最近在调研 Google kubernetes 开源的容器编排平台,刚好也在学习 Go 语言,
所以想看看 Google 这样的大厂是怎么撸 Go 语言的,
本文简单介绍如何下载 k8s 源代码,导入 Idea GoLand(对,我是搞 Java的~),
对于这么庞大的项目,没有 IDE 看起来还是很费劲的,当然牛人除外。

下载源代码

这个不用说了,地球村的人应该都知道

1
2
3
4
mkdir -p /opt/kubernetes-src/src/k8s.io
cd /opt/kubernetes-src/src/k8s.io/
git clone https://github.com/kubernetes/kubernetes.git
git checkout release-1.12(checkout 最新版本的分支即可)

因为等下在 GoLand 里面会配置 Project GOPATH(每个工程私有的 GOPATH)为 /opt/kubernetes-src,所以在 /opt/kubernetes-src 下建了 src/k8s.io 目录,至于为什么目录名叫 k8s.io,这个翻翻代码中的 import 就明白了,如果你不想导入代码后出现各种找不到导入包(符号)的化。

导入 GoLand

在 GoLand 之前一直用的 Intellij + Go 插件,GoLand 出了之后立马下载下来体验,感觉还是不错的

打开 GoLand
选择 New Project
将目标文件夹指向 /opt/kubernetes-src
确认之后会提示文件夹不为空,是否继续,点击确定就行
慢慢等待 IDE 完成对源代码的索引。

注意:一定要设置导入源码的 Project GOPATH为当前路径/opt/kubernetes-src/src。路径为preferences->Go->GOPATH。

设置Project GOPATH示意图

总结

本文介绍了如何将 k8s 源码导入到 GoLand,为后续深入学习源码做好准备