nexus 3.17.0 新版本对于go 包管理的支持是基于go mod 的,同时我们也需要一个athens server
然后在nexus 中配置proxy 类型的repo

参考配置

  • 来自官方的配置图

  • 说明
    就和上边说的一样,我们需要一个athens server,nexus 对于go mod 的支持就是通过配置proxy到athens server
    同时为了使用需要配置GOPROXY 环境变量

环境搭建

  • docker-compose 文件
version: "3"
services: 
  nexus:
    image: sonatype/nexus3:3.17.0
    ports: 
    - "80:8081"
    volumes: 
    - "./nexus-data:/nexus-data"
  athens:
    image: gomods/athens:latest
    ports: 
    - "3000:3000"
  • 配置go proxy

golang 代码使用proxy

  • 配置host 文件
    因为localhost 有问题,所以简单配置了一个127.0.0.1 dalongrong.com
 
127.0.0.1  dalongrong.com
  • 简单go mod 项目
go mod init github.com/rongfengliang/nexus-mod
go: creating new go.mod: module github.com/rongfengliang/nexus-mod
  • 一个简单的http server 代码
main.go:
package main
import (
    "fmt"
    "net/http"
    "github.com/urfave/negroni"
)
func main() {
    mux := http.NewServeMux()
    mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
        fmt.Fprintf(w, "Welcome to the home page!")
    })
    n := negroni.Classic() // Includes some default middlewares
    n.UseHandler(mux)
    http.ListenAndServe(":8000", n)
}
  • 配置GOPROXY
export GOPROXY=http://dalongrong.com/repository/golang/
  • 添加缺少的依赖
go mod tidy
  • 构建
go build
  • 运行
./nexus-mod

效果

├── go.mod
├── go.sum
├── main.go
└── nexus-mod
  • nexus 系统proxy 的信息

说明

以上是一个简单的学习试用,同时也支持group 类型的,还是很不错的

参考资料

https://help.sonatype.com/repomanager3/release-notes/2019-release-notes#id-2019ReleaseNotes-RepositoryManager3.17.0 
https://help.sonatype.com/repomanager3/formats/go-repositories 
https://github.com/rongfengliang/nexus-golang-package

nexus 3.17.0 做为golang 的包管理工具的更多相关文章

  1. Golang学习--包管理工具glide

    上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...

  2. Golang Vendor 包管理工具 glide 使用教程

    Glide 是 Golang 的 Vendor 包管理器,方便你管理 vendor 和 verdor 包.类似 Java 的 Maven,PHP 的 Composer. Github:https:// ...

  3. [golang] Glide 包管理工具,在windows10 64位系统上的bug修复方案

    bug重现 [ERROR] Unable to export dependencies to vendor directory: Error moving files: exit status 1. ...

  4. golang包管理工具及环境管理工具;如何下载外网的依赖包

    简介: golang的包管理工具类似于java的maven.python的pip.js的npm,可以实现依赖包的统一管理:有很多:govendor.godep.glide,挑一个自己喜欢的用吧.mac ...

  5. golang包管理工具

    软件开发中,不可避免的会使用到第三方库,因此包管理工具可以极大的方便开发者管理第三方依赖,避免掉入"依赖地狱". 作为google强大背书的golang语言,golang官方包管理 ...

  6. Golang包管理工具glide简介

    Golang包管理工具glide简介 前言 Golang是一个十分有趣,简洁而有力的开发语言,用来开发并发/并行程序是一件很愉快的事情.在这里我感受到了其中一些好处: 没有少了许多代码格式风格的争论, ...

  7. PyRedisAdmin v1.0 Beta 发布,Redis 在线管理工具 - 开源中国社区

    PyRedisAdmin v1.0 Beta 发布,Redis 在线管理工具 - 开源中国社区 PyRedisAdmin v1.0 Beta 发布,Redis 在线管理工具

  8. nexus 3.17.0 简单试用

    老样子,使用docker-compose 运行 环境准备 docker-compose 文件 version: "3" services: nexus: image: sonaty ...

  9. nexus 3.17.0 简单说明

    nexus 在6.24 发布了3.17.0 ,同时包含了好多新的特性 以下为一些主要变动: routing rules 可以增强repo 的安全 apt repo 格式的支持 可以方便的为ubuntu ...

随机推荐

  1. 关于.Net使用企业库访问MySql数据库

    关于.Net使用企业库访问MySql数据库 在网上看了很多又重写又加WebConfig中的内容,其实不用那么麻烦 企业库5.0访问MySql数据库只需要在Web服务器安装mysql-connector ...

  2. ElementUI table中el-table-column怎么设置百分比显示。

    看文档找到一种方法,是把 width 换成 min-width ,就支持百分比显示啦 !

  3. QueryDSL-JPA

    QueryDSL-JPA QueryDSL简介 官网 1 QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询. 2 Querydsl可以通过一组通用的查询AP ...

  4. mysql DDL数据定义语言

    DDL数据定义语言 本节涉及MySQL关键字:create.alter(rename,add,chang,modify,drop).drop.delete.truncate等. -- 创建表:-- 数 ...

  5. springboot + 自定义配置文件读取

    新建一个配置文件 src\main\resources\resources\config.properties #自定义配置文件 #System Encoding #File Upload Temp ...

  6. PHP控制结构if else,while,do while,for,foreach,break ,continue

    php中控制结构有 控制结构 判断分支 if else, 三元运算符,  switch case, 循环 while do while for foreach 跳出 break continue // ...

  7. Vi 和 Vim 编辑器详细使用方法

    学习linux的一项必会技能,熟练使用vi/vim编辑器那便最重要的了.不过一堆操作看的也是太头疼了,以下整理了些常用到的命令. 工作模式 vi编辑界面有三种不同的工作模式,分别为命令模式.输入模式. ...

  8. k8s node节点部署(v1.13.10)

    系统环境: node节点 操作系统: CentOS-7-x86_64-DVD-1908.iso node节点 IP地址: 192.168.1.204 node节点 hostname(主机名, 请和保持 ...

  9. Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例

    Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...

  10. mysql终止当前正在执行的sql语句

    show processlist;找出你要停止的语句然后找出你要终止的语句的idkill 248