1,前言说明

golang是近来非常火热的语言,但是处理其依赖包一直都是一个让人头疼的问题,尤其是在国内,开发者需要下载一些官方的包的时候,就会非常苦恼。尽管已经有了私服 Athens,公司也已经搭建了这个私服,但是小伙伴们使用下来,反馈仍旧不好,大多时候下载官方的包时还是要自己本地开小飞机进行下载。

今天就打算借助于nexus优秀且强大的代理能力,来解决一下这个痛点。

在nexus官方文档配置go代理的文章里,有如下一个拓扑说明了nexus当中go私服的用法:



这张图的意思很明了,也就是nexus私服的建立,同样需要依赖于 Athens,因为在对一些本地包下载的问题上,显然Athens解决的更好一些。于是乎,在目前nexus最新的版本(3.24)中我们看到,其也仅仅支持proxygroup两种类型,group是统一对外提供访问的,不必过多介绍,那么本篇文章,也就将是重点围绕着proxy类型的代理展开来讲的。

目前来看,纵然是nexus官方文档,谷歌百度,也没有比较完备的文档针对nexus当中配置golang项目私服的文章,我这里也算是结合之前配置其他代理的一些经验,分享一下自己配置整理的思路。至少目前公司小伙伴用起来,都是非常开心满意的,被这种简约高速的代理方式,纷纷赞不绝口的。

配置过程中,将添加三个proxy类型的,其中一个是套娃形式的,接下来一一介绍。

2,创建blob存储

为其创建一个单独的存储空间。

3,阿里代理

首先将国内的阿里仓库添加进来,再一次口头表扬阿里,这造福广大开发者的举措。添加的方式非常简单,与其他项目的代理添加方式一致:

其他的均是默认。

整体配置截图如下:

4,官方代理

一个全球代理为 Go 模块而生,添加的方式非常简单,与其他项目的代理添加方式一致:

  • Name: proxy-go-gf
  • Proxy
  • Storage: go-hub。

其他的均是默认。

整体配置截图如下:

5,创建group类型的go仓库

  • Name:group-go
  • Storage:选择专用的blob存储go-hub。
  • group : 将左边可选的4个仓库,添加到右边的members下。

整体配置截图如下:

6,简单验证

没有使用私服之前,里边是空空如也。



通过设置GOPROXY将代理指向私服地址,然后进行项目的编译,可以看到对应的依赖的包已经缓存到私服当中了。

通过查看go版本,采用下面的方式设置

[root@worker ~]# go version
go version go1.13.11 linux/amd64

如果您使用的 Go 版本是 1.12 及以下

# 启用 Go Modules 功能
export GO111MODULE=on
# 配置 GOPROXY 环境变量
export GOPROXY=http://192.168.75.11:8081/repository/group-go/

如果您使用的 Go 版本是 1.13 及以上,采用这个进行配置

go env -w GO111MODULE=on
go env -w GOPROXY=http://192.168.75.11:8081/repository/group-go/

使用go安装模块

[root@worker ~]# go get -u golang.org/x/sys
go: finding golang.org/x/sys latest
go: downloading golang.org/x/sys v0.0.0-20200610111108-226ff32320da
go: extracting golang.org/x/sys v0.0.0-20200610111108-226ff32320da

参考文章:http://www.eryajf.net/4941.html

最新文章

  1. IE兼容性的注意点
  2. windows 硬盘格式不一样的文件移动 导致拒绝访问 权限丢失 0字节解决办法
  3. BZOJ3746 : [POI2015]Czarnoksiężnicy okrągłego stołu
  4. 利用绝对定位与margin实现元素居中
  5. win32画线考虑去锯齿
  6. 依赖注入及AOP简述(五)——依赖注入的方式 .
  7. 邮件应用Acompli和日历应用Sunrise(传微软曾考虑以80亿美元收购企业通讯公司Slack)
  8. MySQL 水平拆分与垂直拆分详解
  9. Ubuntu每次启动都显示System program problem detected
  10. 【转】对象克隆(C# 快速高效率复制对象另一种方式 表达式树)
  11. 图解python中赋值、浅拷贝、深拷贝的区别
  12. 面试题_默认传参list
  13. python学习笔记----正则表达式
  14. 微软BI 之SSIS 系列 - Merge, Merge Join, Union All 合并组件的使用以及Sort 排序组件同步异步的问题
  15. Examining Huge Pages or Transparent Huge Pages performance
  16. python学习笔记比较全
  17. python改动文件内容,不须要read,write多个动作。
  18. DOM2和DOM3读书笔记
  19. 一次spring aop 切面的问题
  20. unity3d创建window

热门文章

  1. Hadoop学习 Hadoop-HA 解释和概念介绍
  2. Jmeter-记一次自动化造数引发的BeanShell写入excel实例
  3. 洛谷 P2073 送花 treap 无指针
  4. rust中的ref
  5. 字符编码和字符集和编码引出的问题_FileReader读取GBK格式的文件
  6. SpringCloud gateway自定义请求的 httpClient
  7. javascript引用奇趣
  8. 使用Django2.0.4集成钉钉第三方扫码登录
  9. DP选讲
  10. 100行代码实现一个RISC-V架构下的多线程管理框架