打包 TiUP 组件

    因此,TiUP 提供了 package 组件,用于打包新增的 TiUP 组件及生成组件包的目录。

    1. Usage:
    2. tiup package target [flags]
    3. Flags:
    4. -C, -- string tar 包前先切换目录,等同于 tar -C 参数
    5. --arch string 组件运行的处理器架构 (默认为当前的 GOARCH)
    6. --desc string 组件的描述信息
    7. --hide tiup list tiup list 中隐藏该组件
    8. --name string 组件名称
    9. --os string 组件运行的操作系统 (默认为当前的 GOOS)
    10. --release string 组件的版本
    11. --standalone 该组件是否可以独立运行(例如 PD 不能独立运行,但是 playground 可以)

    本节以开发并打包一个 Hello World 组件为例,该组件唯一的功能就是输出它自带配置文件的内容,该文件的内容为“Hello World”。

    为了简单起见,我们采用 bash 脚本来开发该组件。步骤如下:

      1. cat > config.txt << EOF
      2. Hello World
      3. EOF
    1. 参考 搭建离线镜像或私有镜像(因为目前官方镜像未开放 publish 功能,所以不能发布自己的包),搭建完之后确保 变量指向搭建的镜像。

      1. tiup package hello.sh config.txt --name=hello --entry=hello.sh --release=v0.0.1

      此步骤会创建一个 package 目录,里面会放置打包好的文件和元信息。

    2. 上传到仓库:

      由于目前官方仓库未开放上传,我们只能上传到第 3 步中自己搭建的镜像上,上传方式就是直接将 package 中的所有文件拷贝到第 3 步 tiup mirrors<target-dir> 中。

      1. cp package/* path/to/mirror/
    3. 检查 Hello World 组件是否创建成功:

      1. Available versions for hello (Last Modified: 2020-04-23T16:45:53+08:00):
      2. Version Installed Release: Platforms
      3. ------- --------- -------- ---------
      4. v0.0.1 2020-04-23T16:51:41+08:00 darwin/amd64