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

10.使用nexus3配置golang私有仓库的更多相关文章

  1. 2.使用nexus3配置docker私有仓库

    1,配置走起 1,创建blob存储 登陆之后,先创建一个用于存储镜像的空间. 定义一个name,下边的内容会自动补全. 然后保存. 注意:实际生产中使用,建议服务器存储500G或以上. 2,创建一个h ...

  2. <二>企业级开源仓库nexus3实战应用–使用nexus3配置docker私有仓库

    1,安装nexus3. 这个地方略了,安装部署可以参考:nexus3安装配置. 2,配置走起. 1,创建blob存储. 登陆之后,先创建一个用于存储镜像的空间. 定义一个name,下边的内容会自动补全 ...

  3. <五>企业级开源仓库nexus3实战应用–使用nexus3配置npm私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...

  4. <六>企业级开源仓库nexus3实战应用–使用nexus3配置yum私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...

  5. <三>企业级开源仓库nexus3实战应用–使用nexus3配置maven私有仓库

    一两个星期之前,你如果在我跟前说起私服的事情,我大概会绕着你走,因为我对这个东西真的一窍不通.事实上也正如此,开发同学曾不止一次的跟我说公司的私服版本太旧了,许多新的依赖编译之后不会从远程仓库自动缓存 ...

  6. 9.使用nexus3配置Python私有仓库

    搭建Python私服,我们依旧使用nexus3. 与其他私服一样的,Python私服同样有三种类型: hosted : 本地存储,便于开发者将个人的一些包上传到私服中 proxy : 提供代理其他仓库 ...

  7. 5.使用nexus3配置npm私有仓库

    当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org将源指定为淘宝的源,以期让速度加 ...

  8. 3.使用nexus3配置maven私有仓库

    配置之前,我们先来看看系统默认创建的都有哪些 其中圈起来的都是系统原有的,用不到,就全删掉,重新创建. 1,创建blob存储 2,创建hosted类型的maven 点击 Repository下面的 R ...

  9. 6.使用nexus3配置yum私有仓库

    yum相较于rpm,能够更好地解决安装软件时的依赖包问题,使用yum安装更简单更方便.搭建本地YUM源服务器,可以避免升级安装软件时占用公网带宽:有了本地YUM源服务器,可以解决无法连接Interne ...

随机推荐

  1. 记一次react-hooks项目获取图表图片集合并生成pdf的需求

    需求: 获取子组件中所有图片的dom元素并生成图片,再把生成的图片转化为pdf下载 难点 众所周知,react是单向数据流,倡导f(data)⇒ UI的哲学, 并不建议过多直接操作dom,但是生成图片 ...

  2. 2022徐特立科学营&BIT机器人队电控课程讲义

    目录 \(\cdot\)电控简介 \(\cdot\)认识单片机   什么是单片机   时钟-单片机的脉搏 \(\cdot\)外设及应用   GPIO   PWM   定时器   UART \(\cdo ...

  3. flv.js的追帧、断流重连及实时更新的直播优化方案

    目录 1. 前言 2. 前端直播 2.1 常见直播协议 2.2 flv.js 的原理 2.3 flv.js 的简单使用 3. flv.js 的优化方案 3.1 追帧-解决延迟累积问题 3.2 断流重连 ...

  4. 用kubeadm简单部署k8s

    一.环境准备 1.三台CentOS6.7虚拟机 master:192.168.0.54 注意:主节点最好是2颗cpu,否则在k8s控制平面初始化的时候会报错: node1:192.168.0.68 n ...

  5. 第三天python3 字典

    字典 dict 特点:key-value键值对的数据的集合    可变的.无序的.key不重复:非线性结构: 字典的初始化 d=dict() 或者 d = { } dict(**kwargs) 使用n ...

  6. 20220724-Java的封装相关

    目录 含义 常见使用方法 个人理解 含义 封装 (encapsulation) 指隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别. 常见使用方法 class Pers ...

  7. 一分钟安装DolphinScheduler并上手体验

    一分钟安装Apache DolphinScheduler并上手体验 1 一分钟安装DolphinScheduler并上手体验 本教程基于DolphinScheduler1.3.2 2 需要准备: 一台 ...

  8. BZOJ3037 创世纪(基环树DP)

    基环树DP,攻的当受的儿子,f表选,g表不选.并查集维护攻受关系.若有环则记录,DP受的后把它当祖宗,再DP攻的. #include <cstdio> #include <iostr ...

  9. flutter系列之:flutter架构什么的,看完这篇文章就全懂了

    目录 简介 Flutter的架构图 embedder engine Flutter framework Widgets Widgets的可扩展性 Widgets的状态管理 渲染和布局 总结 简介 Fl ...

  10. SiteSucker Pro for Mac 专业的网站下载工具

    SiteSucker Mac版是Mac os平台上的一款帮助用户下载数据的mac下载工具,SiteSucker绝对是一扒网站的利器,不仅仅是下载网站的HTML源文件,他连网站整体架构以及下面的所有文本 ...