命令行工具 CLI 使用指南
命令行工具(tds
)是用来部署云引擎应用和进行其他管理操作的客户端工具。
安装
macOS
推荐通过 Homebrew 安装:
brew update && brew install lean-cli
点击展开 Homebrew 安装常见问题
如访问 Homebrew 网络不畅,可以 设置 http_proxy
等环境变量来加速访问,或为 Homebrew 配置镜像源(如 TUNA)。
如不希望通过 Homebrew 安装,可以在 GitHub releases 页面 下载二进制文件 tds-macos-arm64
(Apple Silicon)或 tds-macos-x64
(Intel),重命名为 tds
后移动到 $PATH
下的路径,并添加可执行权限(chmod a+x /path/to/tds
)。
Windows
Windows 用户可以在 GitHub releases 页面 根据操作系统版本下载最新的 32 位 或 64 位 msi 安装包进行安装,安装成功之后在 Windows 命令提示符(或 PowerShell)下直接输入 tds
命令即可使用。
也可以选择编译好的绿色版 exe 文件,下载后将此文件更名为 tds.exe
,并将其路径加入到系统 PATH 环境变量(设置方法)中去。这样使用时在 Windows 命令提示符(或 PowerShell)下,在任意目录下输入 tds
就可以使用命令行工具了。当然也可以将此文件直接放到已经在 PATH 环境变量中声明的任意目录中去,比如 C:\Windows\System32
中。
Linux
基于 Debian 的发行版可以从 GitHub releases 页面 下载 deb 包安装。
其他发行版可以从 GitHub releases 页面 下载预编译好的二进制文件(如 tds-linux-x64
),重命名为 tds
后移动到 $PATH
下的路径,并添加可执行权限(chmod a+x /path/to/tds
)。
升级版本
下载最新的文件,重新执行一遍安装流程,即可把旧版本的命令行工具覆盖,升级到最新版。
命令介绍
安装成功之后,直接在 terminal 终端运行 tds help
,输出帮助信息:
点击展开 tds help
的输出
NAME:
tds - Command line tool to manage and deploy Cloud Engine apps
USAGE:
tds [global options] command [command options] [arguments...]
VERSION:
1.0.0
COMMANDS:
login Log in to TapTap Developer Services
switch Change the associated Cloud Engine app
info Show information about the associated user and app
up Start a development instance locally with debug console
new Create a new Cloud Engine project from official examples
deploy Deploy the project to Cloud Engine
publish Publish the version of staging to production
db Access to to Database instances
file Manage files ('_File' class in Data Storage)
logs Show Cloud Engine logs
debug Start the debug console without running the project
env Print custom environment variables on Cloud Engine (secret variables not included)
cql Enter CQL interactive shell (warn: CQL is deprecated)
help Show usages of all subcommands
GLOBAL OPTIONS:
--version, -v print the version
可以通过 --version
选项查看命令行工具的版本:
$ tds --version
tds version 1.0.0
简单介绍下主要的子命令:
命令 | 用途 |
---|---|
login | 登录账号 |
switch | 切换关联的云引擎应用和分组 |
info | 显示当前应用和分组信息 |
up | 启动本地开发调试 |
new | 从项目模板创建新项目 |
deploy | 部署项目至云引擎 |
publish | 将预备环境的版本发布至生产环境 |
db | 访问云端的 LeanCache 或 LeanDB |
file | 上传文件至数据存储服务(可以在 开发者中心 > 你的游戏 > 游戏服务 > 云服务 > 数据存储 > 文件 中查看) |
logs | 显示云引擎日志 |
debug | 单独启动云函数调试控制台(不运行应用本身) |
env | 显示或设置当前项目的环境变量 |
用 tds <command> --help
可以进一步了解每个子命令的用法,例如:
点击展开 tds deploy --help
的输出
NAME:
tds deploy - Deploy the project to Cloud Engine
USAGE:
tds deploy [command options] (--prod | --staging) [--no-cache --build-logs --overwrite-functions]
OPTIONS:
--prod Deploy to production environment
--staging Deploy to staging environment
--build-logs Print build logs
-g Deploy from git repo
--war Deploy .war file for Java project. The first .war file in target/ is used by default
--no-cache Disable buliding cache
--overwrite-functions Overwrite cloud functions with the same name in other groups
--leanignore value Rule file for ignored files in deployment (default: ".leanignore")
--message value, -m value Comment for this version, only applicable when deploying from local files
--keep-deploy-file
--revision value, -r value Git revision or branch. Only applicable when deploying from Git (default: "master")
--options --options build-root=app Send additional deploy options to server, in urlencode format(like --options build-root=app)
--direct Upload project's tarball to remote directly
登录账号
安装完命令行工具之后,首先第一步需要登录云服务账号。
请进入开发者后台,点击左侧「创建游戏」按照需要填写基础信息和基础游戏资料,然后进入对应的游戏,依次进入游戏服务 > 云服务 > 云引擎 > 开启 > 部署项目 > 命令行工具部署,按照指引登录你的云服务账号。
如要切换到另一账号,重新执行 tds login
即可。
初始化项目
登录完成之后,可以使用 tds new
命令来初始化一个项目,并且关联到已有的云服务应用上。
如果你还没有在控制台创建过应用,请先在控制台创建应用,然后使用 tds new
创建项目:
$ tds new my-engine-app
[?] Please select an app template:
1) Node.js - Express
2) Node.js - Koa
3) Python - Flask
4) Python - Django
5) Java - Servlet
6) Java - Spring Boot
7) PHP - Slim
8) .NET Core
9) Go - Echo
10) React Web App (via create-react-app)
11) Vue Web App (via @vue/cli)
=> 1
[?] Please select an app:
1) my-engine-app
=> 1
[INFO] Downloading templates 7.71 KiB / 7.71 KiB [==================] 100.00% 0s
[INFO] Creating project...
[INFO] Created Node.js - Express project in `my-engine-app`
[INFO] Lean how to use Express at https://expressjs.com
tds new
会使用你提供的名字创建一个目录,我们
cd my-engine-app
然后安装项目依赖:
- Node.js
- Python
- PHP
- Java
- .NET (C#)
- Go
npm install
pip install -Ur requirements.txt
composer install
mvn package
需要安装 global.json 文件中指定的 .NET SDK 版本。
go mod tidy
关联应用和分组
命令行工具的大部分操作都是针对关联的应用进行的,使用 tds switch
可以将已有的项目关联到云端的应用:
tds switch
如应用中有多个分组,则会需要你选择一个分组。
如需关联项目到其他应用,可以重新运行 tds switch
。
另外还可以直接执行 tds switch <其他应用的 ID>
来快速切换关联应用。
使用 tds info
可以查看当前项目关联的应用。
本地运行调试
在项目根目录运行:
tds up
即可开始本地调试,命令行工具会在启动你的应用同时启动一个云函数调试控制台。
- 在浏览器中打开 http://localhost:3000,进入 web 应用的首页。
- 在浏览器中打开 http://localhost:3001,进入云引擎云函数和 Hook 函数调试控制台。
如果想变更启动端口号,可以使用 tds up --port <新端口号>
命令来指定。
命令行工具并不负责自动重启或热加载,需要由项目代码本身来实现,我们部分的示例项目提供了自动重启的能力(如 Node.js)。
除了使用命令行工具来启动项目之外,还可以原生地启动项目,比如直接使用 node server.js
或者 python wsgi.py
。这样能够将云引擎开发流程更好地集成到开发者惯用的工作流程中,也可以直接和 IDE 集成。但是直接使用命令行工具创建的云引擎项目,默认会依赖一些环境变量,因此需要提前设置好这些环境变量。
使用命令 tds env
可以显示出这些环境变量,手动在当前终端中设置好之后,就可以不依赖命令行工具来启动项目了。另外使用兼容 sh
shell 的用户,还可以直接使用 eval $(tds env)
,自动设置好所有的环境变量。
启动时还可以给启动命令增加自定义参数,在 tds up
命令后增加两个横线 --
,所有在横线后的参数会被传递到实际执行的命令中。比如启动 node 项目时,想增加 --inspect
参数给 node 进程,来启动 node 自带的远程调试功能,只要用 tds up -- --inspect
来启动项目即可。
另外还可以使用 --cmd
来指定启动命令,这样即可使用任意自定义命令来执行项目:tds up --cmd=my-custom-command
。