命令行界面参考
Task 支持多种配置方式。这些配置方法按以下顺序依次解析,优先级从低到高:
本文将详细探讨第三种方式:命令行标志。所有 CLI 命令都会覆盖其对应的配置文件和环境变量设置。
格式
Task 命令遵循以下语法:
task [选项] [任务名...] [-- CLI参数...]TIP
若指定 --,所有剩余参数将被赋值给特殊的 CLI_ARGS 变量。
命令
task [任务名...]
运行 Taskfile 中定义的一个或多个任务。
task build
task test lint
task deploy --forcetask --list
列出所有包含描述信息的可用任务。
task --list
task -ltask --list-all
列出所有任务(包含无描述信息的任务)。
task --list-all
task -atask --init
在当前目录创建新的 Taskfile.yml 文件。
task --init
task -i选项
常规选项
-h, --help
显示帮助信息。
task --help--version
显示 Task 版本信息。
task --version-v, --verbose
启用详细输出模式。
task build --verbose-s, --silent
禁用命令回显功能。
task deploy --silent执行控制
-f, --force
即使任务已是最新状态也强制执行。
task build --force-n, --dry
编译并打印任务但不实际执行。
task deploy --dry-p, --parallel
并行执行多个任务。
task test lint --parallel-C, --concurrency <数量>
限制并发任务数(0 表示无限制)。
task test --concurrency 4-x, --exit-code
透传失败命令的退出代码。
task test --exit-code文件与目录
-d, --dir <路径>
设置 Task 运行及查找 Taskfile 的目录。
task build --dir ./backend-t, --taskfile <文件>
指定自定义 Taskfile 路径。
task build --taskfile ./custom/Taskfile.yml-g, --global
运行位于 $HOME/Taskfile.{yml,yaml} 的全局 Taskfile。
task backup --global输出控制
-o, --output <模式>
设置输出样式(可选模式:interleaved/交错, group/分组, prefixed/前缀)。
task test --output group--output-group-begin <模板>
分组输出前打印的消息模板。
task test --output group --output-group-begin "::group::{{.TASK}}"--output-group-end <模板>
分组输出后打印的消息模板。
task test --output group --output-group-end "::endgroup::"--output-group-error-only
仅在非零退出码时显示命令输出。
task test --output group --output-group-error-only-c, --color
控制彩色输出(默认启用)。
task build --color=false
# 或使用环境变量
NO_COLOR=1 task build任务信息
--status
检查任务是否为最新状态(不实际运行)。
task build --status--summary
显示任务的详细信息。
task build --summary--json
以 JSON 格式输出任务信息(需与 --list 或 --list-all 联用)。
task --list --json--sort <模式>
更改任务列表排序方式(可选模式:default/默认, alphanumeric/字母数字, none/无排序)。
task --list --sort alphanumeric监听模式
-w, --watch
监听文件变动并自动重新运行任务。
task build --watch-I, --interval <时长>
设置监听间隔(默认:5s)。必须为有效的 Go 时长格式。
task build --watch --interval 1s交互选项
-y, --yes
自动对所有提示回答 "yes"。
task deploy --yes退出代码
Task 使用特定退出代码指示不同类型的错误:
成功状态
- 0 - 成功
常规错误 (1-99)
- 1 - 发生未知错误
Taskfile 错误 (100-199)
- 100 - 未找到 Taskfile
- 101 - Taskfile 已存在(使用
--init时) - 102 - Taskfile 无效或无法解析
- 103 - 远程 Taskfile 下载失败
- 104 - 远程 Taskfile 未受信任
- 105 - 远程 Taskfile 获取操作不安全
- 106 - 离线模式下无远程 Taskfile 缓存
- 107 - Taskfile 中未定义架构版本
任务错误 (200-255)
- 200 - 未找到任务
- 201 - 命令执行错误
- 202 - 尝试运行内部任务
- 203 - 存在多个同名/别名的任务
- 204 - 任务调用次数过多(达到递归限制)
- 205 - 任务被用户取消
- 206 - 缺少必需变量
- 207 - 变量值不正确
INFO
使用 -x/--exit-code 时,将透传失败命令的退出代码而非上述代码。
TIP
完整退出代码列表可在代码库 errors/errors.go 中查看。
JSON 输出格式
当 --json 与 --list 或 --list-all 联用时:
{
"tasks": [
{
"name": "build",
"task": "build",
"desc": "构建应用程序",
"summary": "编译源代码并生成二进制文件",
"up_to_date": false,
"location": {
"line": 12,
"column": 3,
"taskfile": "/path/to/Taskfile.yml"
}
}
],
"location": "/path/to/Taskfile.yml"
}