1.8 KiB
1.8 KiB
TJWater CLI
独立于服务端主代码的 Python CLI 文件夹,放在 TJWaterServerBinary/cli/ 下,供 agent 服务器使用编译后的可执行文件直接调用,并通过 stdout/stderr 参与管道。
构建可执行产物
cd TJWaterServerBinary/cli
python -m pip install -r requirements.txt
python -m pip install -r requirements-build.txt
chmod +x build.sh
./build.sh
构建完成后,直接使用编译产物:
./dist/tjwater-cli/tjwater-cli help
这个可执行文件可以直接参与管道:
./dist/tjwater-cli/tjwater-cli help | jq
当前采用 PyInstaller onedir 方式输出到 dist/tjwater-cli/,避免 onefile 在部分 agent/server 环境下依赖临时目录解包执行的问题。
如果需要在开发时直接走源码入口,也可以显式使用 Python:
python -m tjwater_cli help
部署到 agent 服务器
最简单的方式是把 dist/tjwater-cli/ 整个目录同步到 agent 服务器,然后直接执行:
./tjwater-cli/tjwater-cli help
如果希望打包传输:
cd TJWaterServerBinary/cli
tar -C dist -czf tjwater-cli-linux-amd64.tar.gz tjwater-cli
如果希望放到 PATH 中:
ln -s /path/to/TJWaterServerBinary/cli/dist/tjwater-cli/tjwater-cli /usr/local/bin/tjwater-cli
tjwater-cli help | jq
运行与构建依赖
cd TJWaterServerBinary/cli
python -m pip install -r requirements.txt
python -m pip install -r requirements-build.txt
requirements.txt 仅包含运行 CLI 的依赖;requirements-build.txt 仅包含生成可执行文件所需的构建依赖。
认证上下文
CLI 通过 --auth-context 读取 JSON 文件。常用字段:
{
"server": "http://backend-host:8000",
"access_token": "...",
"project_id": "...",
"network": "...",
"username": "..."
}