• 10.使用nexus3配置golang私有仓库


    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

  • 相关阅读:
    MySQL存储引擎简介
    MySQL基本架构介绍
    MySQL事务小结
    【术语解释】fat-jar理解
    学习NIO——Selector
    java 实现Map的深复制
    今天也要学一点设计模式呀——观察者模式
    今天也要学一点设计模式呀——代理模式
    java 将String字符串转换为List<Long>类型
    零拷贝
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13129328.html
Copyright © 2020-2023  润新知