golang实战-2:以码云gitee为例陈述go modules如何使用私有库

2022-08-31 10:42:05 浏览数 (1)

我的私有仓库使用的是gitee(码云),需要进行一定的配置才能让其他golang服务引用。

目录:

(1).创建ssh公私钥

(2).gitee配置公钥

(3).测试应用私有仓库moudle的go服务

(1).创建ssh公私钥

可以参考gitee的文章:

生成/添加SSH公钥

https://gitee.com/help/articles/4181#article-header0

加密算法选择:ed25519

原因是:

ed25519是目前最安全、加解密速度最快的key类型,由于其数学特性,它的key的长度比rsa小很多,优先推荐使用。它目前唯一的问题就是兼容性,即在旧版本的ssh工具集中可能无法使用,但目前来说还没有人遇到。

ssh-keygen -t ed25519 -C "future@gitee.com"

默认将公私钥放在~/.ssh下。

会在~/.ssh下生成两个文件:

id_ed25519:私钥

id_ed25519.pub:公钥

私钥要一直保存在~/.ssh下,公钥配置在gitee上,同时另行保存公钥后将这个磁盘上的公钥删除,这样即使私钥泄漏也没用,更加安全,安全合规。

(2).gitee配置公钥

可以看到ed25519比rsa要短很多。

(3).测试应用私有仓库moudle的go服务

设置私服地址到环境变量:可以设置多个私服,用逗号分隔。

export GOPRIVATE=gitee.com

分别执行:

go mod init

go mod tidy (如果是go1.16 ,需要执行:go mod tidy -compat=1.17)

这样就可以下载依赖自私服中的go moudle了。

0 人点赞