背景
做项目测试的时候,为了方便自己,用cobra写了一个测试用的命令行工具。比如帮我发一个http请求到被测服务上去, 拿到相应参数做校验和其他二次处理。 再比如连接数据库拿到相关记录,并人性化显示出来。
这个命令行的测试工具节省了很多手工操作的成本,于是我推广给开发用,减少他们自测的成本。但是这个命令行工具更新迭代的很快,每次都得重新给开发新的命令。于是我将原本客户端的功能收敛到服务端,客户端变成一个收集参数、展示的工具。这就是Terminal这个项目的由来。
项目地址:https://github.com/FengGeSe/terminal
介绍
客户端cli将os.Args参数通过Http请求发送到服务端,服务端处理完后,客户端显示处理结果。
使用
下载项目
git clone https://github.com/FengGeSe/terminal.git && cd terminal
编译
make build
运行服务端
mac: ./bin/darwin/amd64/server
linux: ./bin/linux/amd64/serverListening and serving HTTP on 0.0.0.0:8080
运行客户端
mac: ./bin/darwin/amd64/cli -h
linux: ./bin/linux/amd64/cli -hclient terminal
Usage:
cli [command]
Available Commands:
env manage env config
help Help about any command
update update client self
Flags:
-h, --help help for cli
-v, --verbose show more info
Use "cli [command] --help" for more information about a command.
命令介绍
env命令是客户端本地的命令,用于管理相关本地配置,比如连接哪个远程server。
update命令是用于升级客户端命令的命令,update命令执行的时候,会从server端下载客户端二进制命令,并替换本地客户端命令。实现本地客户端升级的功能。
ps: 好用记得点star .~