使用 gitee 托管你的 go 模块

前言

实话实说, github 作为这个球上顶级的代码托管平台, 公司/企业/开发者的认可和参与度是非常高的.

但是因为某些原因 特色墙, 国内使用 github 的体验不是非常好

  • 速度慢
  • 不靠谱同学的贸易政策
  • 英文不是非常友好 比如我就是英文渣渣
  • ...

而 go 的模块系统高度使用了 github, 以及很多非常有用的包也托管在 github,

随之而来的问题是, 国内, 使用 github 有的问题, 使用 go 模块系统全部一起中招了.

为此, 我们来试试如何把自己的 go 模块托管在 gitee 来更方便的使用.

相比之下使用 gitee 的优势:

  • 速度快的多 网速就是生命
  • 不怕不靠谱同学
  • 母语贴心
  • 可能模块少点 这是劣势, 需要你我他的努力
  • ...

创建你的 go 模块

按照我的习惯, 我在我的电脑目录 E:\goprojects\src\gitee.com\taadis 目录下新建了一个 uuid 模块项目

└─uuid
        .gitignore
        doc.go
        go.mod # 模块配置文件, 主要的就是这个
        go.sum # 模块依赖计算, 通常请 git 忽略掉
        README.md
        uuid.go
        uuid_test.go

我们来看看 go.mod 文件

module gitee.com/taadis/uuid

模块声明以 "路径/用户/模块" 这样的形式声明

就这么简单, 模块声明完成后, 本地测试通过, 然后 git push 到 gitee

发布你的 go 模块

一个模块随着时间和业务累积会有越来越多的版本, 那么怎么发布 go 的模块以及迭代版本呢

首先在 gitee 创建一个新仓库

同步本地仓库到远程仓库

需要发布版本的时候, 通过标签来实现

直接 git tag v0.0.1, 然后 git push origin v0.0.1

更多的版本号累积即可

直接 git tag v0.0.2, 然后 git push origin v0.0.2

使用你的 go 模块

来个简单的例子, 新建一个叫做 uuidtest 的项目, go get gitee.com/taadis/uuid v0.0.1 下载指定版本, 不指定版本号时会下载默认下载最新版本, 并记录到 go.mod 文件中

module uuidtest

require gitee.com/taadis/uuid v0.0.1

然后就可以欢乐的使用了

// main.go
package main

import (
	"fmt"

	"gitee.com/taadis/uuid"
)

func main() {
	id := uuid.New()
	fmt.Println(id)
}

GoDoc

GoDoc 是 go 提供的一个在线文档服务, 不需要你做任何多余的事情

直接在浏览器访问 https://godoc.org/模块名称

比如 https://godoc.org/gitee.com/taadis/uuid 即可看到你的 go 模块相关的源码中的文档

posted @ 2020-01-02 14:30  taadis  阅读(2843)  评论(0编辑  收藏  举报