打包 TiUP 组件
因此,TiUP 提供了 package 组件,用于打包新增的 TiUP 组件及生成组件包的目录。
Usage:
tiup package target [flags]
Flags:
-C, -- string 打 tar 包前先切换目录,等同于 tar 的 -C 参数
--arch string 组件运行的处理器架构 (默认为当前的 GOARCH)
--desc string 组件的描述信息
--hide tiup list 在 tiup list 中隐藏该组件
--name string 组件名称
--os string 组件运行的操作系统 (默认为当前的 GOOS)
--release string 组件的版本
--standalone 该组件是否可以独立运行(例如 PD 不能独立运行,但是 playground 可以)
本节以开发并打包一个 Hello World 组件为例,该组件唯一的功能就是输出它自带配置文件的内容,该文件的内容为“Hello World”。
为了简单起见,我们采用 bash 脚本来开发该组件。步骤如下:
-
cat > config.txt << EOF
Hello World
EOF
参考搭建私有镜像 搭建离线镜像或私有镜像(因为目前官方镜像未开放 publish 功能,所以不能发布自己的包),搭建完之后确保 变量指向搭建的镜像。
-
tiup package hello.sh config.txt --name=hello --entry=hello.sh --release=v0.0.1
此步骤会创建一个 package 目录,里面会放置打包好的文件和元信息。
上传到仓库:
由于目前官方仓库未开放上传,我们只能上传到第 3 步中自己搭建的镜像上,上传方式就是直接将 package 中的所有文件拷贝到第 3 步
tiup mirrors
的<target-dir>
中。cp package/* path/to/mirror/
检查 Hello World 组件是否创建成功:
Available versions for hello (Last Modified: 2020-04-23T16:45:53+08:00):
Version Installed Release: Platforms
------- --------- -------- ---------
v0.0.1 2020-04-23T16:51:41+08:00 darwin/amd64