使用athens搭建私有go mod mirror

Golang 在18年发布的1.11后,开始正式支持了go mod (vgo)特性,终于迎来勉强可以用的包管理特性。 同时,1.11还支持了个GOPROXY环境变量,可用于自建的mirror,这不仅解决了github作者删包导致go mod download失效的问题,在CI中还能加快包的下载速度,以及有助于解决CI的拉去私有包。 在自己的Gitlab中以及公司中,我是用了athens来搭建go mod mirror. 安装 这里推荐直接Docker安装吧,官方有提供image. 安装后会暴露一个3000端口,可以直接用ingress/nginx暴露出去,如果需要公网访问的话。 授权配置 如果只是在公司内网的话,有内网IP,是不需要配置权限校验的,但是如果需要暴露在外网中,athens支持basic auth。 配置如下2个环境变量即可开启: BASIC_AUTH_PASS BASIC_AUTH_USER 拉取私有包 拉去github/gitlab中的私有包,可以从 .netrc 文件中配置。 首先先配置环境变量,指定…