开发一个debug交互式的Cli工具
1. 介绍
做一个类似gdb的命令行工具,来检测我们线上运行的代码是否有问题。
或者说类似一个redis-cli这样的工具。
1 2 3 4 5 6
| root@2c26dcffcd18:/data# redis-cli 127.0.0.1:6379> keys (error) ERR wrong number of arguments for 'keys' command 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379>
|
比如我这边去开发一个辅助用户排查的工具,用户运行一个命令,会启动一个诊断工具,然后用户可以通过这个工具来查看一些信息,比如查看容器的状态,查看容器的日志,查看容器的配置等等。
2. 实现
2.1 读取命令
读取命令,然后执行RPC或者http调用,然后输出结果。
2.2 封装成一个命令行工具
此处我封装成了一个nodejs的包,用bin的方式执行。
2.3 发布到源方便下载
此处发布到了npm的平台
体验效果
安装
使用
1 2 3 4 5 6 7 8 9
| ➜ blog git:(master) ✗ stone stone> help command ls: list container command version: show version command help: show help command q: exit stone> ls list container stone>
|