源码编译
云端管理套件源码编译介绍。
准备工作
安装 Golang 工具并启用 Modules 管理
Golang 的最低版本要求为 1.13。 下载安装 Golang 可参考 golang.org 或者 golang.google.cn。我们现在采用 Go Modules 来管理依赖包,为了能够正常下载墙外的代码,可以参考 goproxy.baidu.com 来设置 GOPROXY,如下:
# 使用 go1.13 以上版本
go env -w GONOSUMDB=\* ## 配置GONOSUMDB,暂不支持sumdb索引
go env -w GOPROXY=https://goproxy.cn ## 配置GOPROXY,可以下载墙外代码
安装 Docker Engine 并打开 Buildx 功能
Docker 的最低版本要求为 19.03,因为从该版本开始内置了 Buildx 功能,可用于制作多平台的镜像。 安装 Docker 可参考 docker.com/install,打开 Buildx 功能参考 github.com/docker/buildx 。
下载代码
从 Baetyl Github 下载代码,执行如下命令:
git clone https://github.com/baetyl/baetyl-cloud.git
编译 baetyl-cloud
进入 baetyl-cloud 项目目录,执行 make
即可编译出当前系统平台的 baetyl-cloud 主程序。
make
注意:国内请设置GOPROXY,否则可能导致依赖包下载不下来,参考开头的准备工作
上述命令执行完后,baetyl-cloud 主程序会生成在项目的 output
目录下。
制作镜像
如果使用容器模式运行 baetyl-cloud,我们推荐使用正式发布的官方镜像。如果你想自己制作镜像,可以使用下面提供的命令,但是前提是打开了最前面的准备工作中提到的 Buildx 功能。
进入 baetyl-cloud 项目目录,执行 make image
即可生成当前系统平台的模块镜像。
make image
注意:为了制作多平台的镜像,我们采用了 docker 的 buildx,参考开头的准备工作
执行结束后,你可以执行 docker images
来查看生成的镜像。
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cloud git-be2c5a9 d70a7faf5443 About an hour ago 40.7MB
修改 scripts/demo/charts/baetyl-cloud/values.yaml 里的 image 配置项为上述镜像地址,执行 helm 安装,即可运行。