最新版的nexus除了可以做maven仓库的代理私服,还可以作为golang下载第三方资源包的代理私服。

以admin用户登录到nexus,添加一个go(proxy),名字随便起,最主要的是远程代理地址需要填写:

https://goproxy.io/  或者用国外的 https://athens.azurefd.net

还有国内阿里云的 https://mirrors.aliyun.com/goproxy/ 

注意这两个代理地址可能需要来回切换使用,一个下载不到的时候就换成另外一个,仓库不用删除重建。

修改仓库配置,把内容校验和自动阻止无法访问资源的再次重试等去掉,配置结果如下:

在客户端开发机器上面配置系统环境变量,GO111MODULE=auto,

然后新建go项目,执行

go mod init

创建一个go.mod文件,

然后写代码,最主要的是import你的项目需要用到的第三方文件,例如到gin框架:

package mainimport ("github.com/gin-gonic/gin"
)func main()  {router := gin.Default()router.Run()
}

然后设置go module代理为你刚刚配置的nexus内网私服地址,例如

set GOPROXY=http://192.168.1.100:8081/repository/goproxy/

再执行以下命令:

go mod vendor

go mod download

再次登录到nexus里面去看的时候,就可以看到nexus缓存的go第三方组件包了,如下图:

 

这样后续再次加载时就可以走nexus的本地缓存了。

另外,阿里云的代理是个好东东,有好多的代理,在这里

https://developer.aliyun.com/mirror

https://opsx.alibaba.com/mirror   (旧的已经不能用了)