一些改进方向 =================== 新思路 -------- 参考 :ref:`thinking-requirements` 构建速度 ---------- go 的依赖管理机制让 go 项目在编译时需要大量的访问 GitHub/gopkg/golang.org 等网站,这对于国内开发者来说,非常的不友好。 当我们在本地使用 go build 构建时,即使一次 go build 失败, 我们可以比较方便的重新来过,之前下载的依赖在之后的 go build 中可以继续使用。 而在 go2pod 目前的设计中,每次构建都几乎是从 0 开始, 在网络条件不好的情况下,构建速度会比较慢,甚至会导致构建失败。 - 不知道是否可以缓存 ``$GOPATH/pkg/mod`` 等目录? 使用多阶段构建 ---------------------- 目前代码中已经对 docker 是否支持 multi-stage build 做了检测, 但是生成 dockerfile 时没有参考这个参数,之后可以对此进行改进。 已知的好处有: - 减少镜像大小 - 排除构建时环境变量对运行时容器的影响