# Go包发布流程
- 把代码上传到Github中
- 给对应的分支打上tag,即可完成发布
# Go安装
- 配置GOROOT:为Go语言的所在路径,
D:\Go\go1.18.10 - 配置GOPATH:为Go第三方包所安装的路径:
D:\Go\GoPath - 配置MINGW_HOME:在cgo中需要用到gcc,
D:\MinGW\mingw64 - 配置Path:将
%GOROOT%\bin和%GOPATH%\bin和MINGW_HOME\bin配置到Path中 - 配置代理:
go env -w GOPROXY=https://goproxy.cn,direct - 配置go modules功能开关:
go env -w GO111MODULE=on
# 如果在一个仓库中有多个Go Module想要发布怎么办
例如有以下的工程目录:

ctyun-sdk-go
├─ctyun-sdk-core
│ go.mod
└─ctyun-sdk-endpoint
├─ctebs
│ go.mod
├─ctecs
│ go.mod
├─ctiam
│ go.mod
├─ctimage
│ go.mod
└─ctvpc
go.mod
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
需要发布ctyun-sdk-core、ctebs、ctecs、ctiam、ctimage、ctvpc
以ctyun-sdk-core举例,其go.mod文件内容如下:
module github.com/ctyun-it/ctyun-sdk-go/ctyun-sdk-core
go 1.14
require github.com/google/uuid v1.6.0 // indirect
1
2
3
4
5
2
3
4
5
以ctebs举例,其go.mod文件内容如下:
module github.com/ctyun-it/ctyun-sdk-go/ctyun-sdk-endpoint/ctebs
go 1.14
require github.com/ctyun-it/ctyun-sdk-go/ctyun-sdk-core v1.0.2 // indirect
1
2
3
4
5
2
3
4
5
推送tag,例如发布ctyun-sdk-core版本,那么需要打tag:ctyun-sdk-core/v1.0.2 (opens new window),如果发布ctebs版本,那么需要打tag:ctyun-sdk-endpoint/ctebs/v1.0.2 (opens new window)
