Golang使用私有仓库

在开发中我们经常会引用一些我们自己私有的公共项目。比如私有的common包。一般情况下,引用这些包有两种方式。一种是使用传统的go path,还有一种是使用go mod模式,然后加replace。

这两种方式都会有一些弊端,现在推荐第三种方式,go mod+私有仓库的方式。

如图所示,以git.wbctyun.cn开头的地址,是我们的私有仓库。执行go get时,会首先去我们配置的私有仓库地址拉取项目,然后再从github.com拉取项目。

require (
	git.wbctyun.cn/avnet/vnet-common v1.0.3
	git.wbctyun.cn/avnet/cvnet-utils v1.0.2
	git.wbctyun.cn/avnet/cvpc/vpc-common v1.0.2
	git.wbctyun.cn/avnet/cvpc/vpc-sdk-go v1.0.2
	github.com/dgrijalva/jwt-go v3.2.0+incompatible
	github.com/emicklei/go-restful-openapi/v2 v2.3.0
	github.com/emicklei/go-restful/v3 v3.5.1
	github.com/go-openapi/spec v0.20.3
	github.com/json-iterator/go v1.1.11 // indirect
)

 配置方式:

  • 1.配置go env的全局变量。

// 配置开启gomod
go env -w GO111MODULE="on"
// 配置GoMod私有仓库
go env -w GOPRIVATE="git@git.wbctyun.cn"
// 配置不加密访问
go env -w GOINSECURE="git.wbctyun.cn"
// 配置不使用代理
go env -w GONOPROXY="git.wbctyun.cn"
// 配置不验证包
go env -w GONOSUMDB="git.wbctyun.cn"
  • 2.配置git不以http方式拉取

git config --global url."git@git.wbctyun.cn:".insteadOf "https://git.wbctyun.cn"
  • 3.配置拉取git私有仓库的ssh公私钥。

  • 既可以通过ssh://git@git.wbctyun.cn方式拉取代码。config文件配置参考:
# ctyun
Host git.wbctyun.cn
HostName git.wbctyun.cn
port 2222
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_ijijni_rsa

如果port没有特殊指定,可以不写。

公有仓库使用方式:

如果自己修改过公有仓库,可以推到远程仓库的新分支,如dev-1,然后项目需要引用此公有仓库,则使用命令,go get git.wbctyun.cn/avnet/vnet-common@dev-1,即加上分支号

4.win环境下,go get免密登录方式:

添加环境变量:

 变量值可以按照自己的需求填写。

然后再变量值所指的目录,添加_netrc文件,在文件中填入git私有仓库地址,账号密码:

1为私有仓库地址

2为仓库登录用户

3为密码,可以为访问令牌,或者用户密码

4.mac和linux系统直接在用户目录下配置文件:

vim ~/.netrc,然后添加

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值