Skip to content

入门指南

本指南将帮助您快速了解 Task 的基础知识。我们将介绍如何创建 Taskfile、如何编写基础任务以及如何调用任务。如果您尚未安装 Task,请先查阅我们的安装指南

创建第一个 Taskfile

安装 Task 后,可通过以下命令创建第一个 Taskfile:

shell
task --init

这将在当前目录创建名为 Taskfile.yml 的文件。若需在其他目录创建文件,可向命令传入绝对或相对路径:

shell
task --init ./subdirectory

若需为 Taskfile 指定特定名称,可传入文件名:

shell
task --init Custom.yml

生成的 Taskfile 内容如下所示:

Taskfile.yml
yaml
version: '3'

vars:
  GREETING: Hello, World!

tasks:
  default:
    cmds:
      - echo "{{.GREETING}}"
    silent: true

如您所见,所有 Taskfile 均采用 YAML 格式编写。version 属性指定运行此文件所需的最低 Task 版本。vars 属性用于定义可在任务中使用的变量,此处我们创建了值为 Hello, World! 的字符串变量 GREETING

最后,tasks 属性用于定义可运行的任务。此处我们有一个名为 default 的任务,用于输出 GREETING 变量的值。silent 属性设置为 true,意味着运行任务时将不打印任务元数据——仅显示命令输出。

调用任务

要调用任务,请运行 task 后接所需运行的任务名称。此处任务名为 default,因此应运行:

shell
task default

请注意,我们无需指定 Taskfile 的名称。Task 会自动在当前目录查找名为 Taskfile.yml 的文件(或任何 Task 支持的文件名)。此外,名为 default 的任务具有特殊性:它们也可在不指定任务名称的情况下运行。

若在其他目录创建了 Taskfile,可使用 --dir 标志传入目录的绝对或相对路径来运行:

shell
task --dir ./subdirectory

若使用不同名称创建 Taskfile,可使用 --taskfile 标志传入 Taskfile 名称来运行:

shell
task --taskfile Custom.yml

添加构建任务

让我们创建一个用于构建 Go 程序的任务。首先在现有 default 任务下方添加名为 build 的新任务,然后添加包含单一程序构建命令的 cmds 属性。

Task 使用 Go 原生 shell 解释器 mvdan/sh,因此您可以编写类 sh/bash 命令——即使在通常无法使用 shbash 的环境(如 Windows)中亦然。只需确保调用的任何可执行文件作为内置程序或在系统 PATH 中可用即可。

完成后的内容如下所示:

yaml
version: '3'

vars:
  GREETING: Hello, World!

tasks:
  default:
    cmds:
      - echo "{{.GREETING}}"
    silent: true

  build:
    cmds:
      - go build ./cmd/main.go

通过以下命令调用任务:

shell
task build

以上就是基础内容的全部介绍,但 Task 还能实现更多功能!请查阅剩余文档以了解 Task 提供的所有特性!我们建议接下来阅读使用指南,您也可以查看 Taskfile 结构参考CLI 参考文档