Go语言学习: yaml 方式管理 task
GO语言里的 ytl 实现
安装
# install
brew install go-task/tap/go-task
# task --version
Task version: v3.14.0 (h1:/00rpwoB+lo9ztU7MPa9aCDywZvrXaxXNR2BxvyEhwE=)
常用
功能 | 代码 |
---|---|
创建一个 Taskfile.yaml |
|
运行默认 (default) 的任务 |
|
Taskfile.yaml
default
: 这个为一个默认的任务- 其它任务的执行格式为:
task hello
# https://taskfile.dev
version: '3'
vars:
GREETING: Hello, World!
tasks:
default:
cmds:
- echo "{{.GREETING}}"
- echo "{{.HOME}}"
- echo $HOME
silent: true
多个Taskfile/Taskfile.dist 共存情况
以下是查找顺序:Taskfile.yaml => Taskfile.dist.yaml
推荐的方式是将 Taskfile.yaml 添加到 gitignore中去,将 Taskfile.dist.yaml 放在git中管理
- Taskfile.yml
- Taskfile.yaml
- Taskfile.dist.yml
- Taskfile.dist.yaml
环境变量
- 为某个
task
设置环境变量 - 使用全局的环境变量
.env
文件: https://taskfile.dev/usage/#env-files
version: '3'
tasks:
greet:
cmds:
- echo $GREETING
env:
GREETING: Hey, there!
version: '3'
env:
GREETING: Hey, there!
tasks:
greet:
cmds:
- echo $GREETING
include 指令
可以在当前的
Taskfile.yaml
里引用其它的yml
命令
version: '3'
includes:
docs: ./documentation # will look for ./documentation/Taskfile.yml
docker: ./DockerTasks.yml
不同的操作系统
version: '3'
includes:
build: ./Taskfile_{{OS}}.yml
其它关键词
version:
includes:
- Configuration ones, like
output:
,silent:
,method:
andrun:
vars:
env:
,dotenv:
tasks: