介绍

Taskfile 是一个现代化的任务运行器和构建工具,使用 YAML 格式定义任务,是 Makefile 的替代方案。

task run vs task start 语义区别

run(运行)

  • 强调"执行"程序
  • 通常用于开发环境,直接运行源代码
  • 示例:go runpython script.py
  • 适合开发调试,不需要编译
  • 用于一次性执行任务或脚本

start(启动)

  • 强调"启动"服务
  • 通常用于启动已编译的二进制文件或服务
  • 示例:systemctl startservice start
  • 暗示这是一个长期运行的服务
  • 用于启动后台服务或守护进程

命名建议

在 Taskfile 中定义任务时:

  • 使用 run 命名:开发环境执行、脚本运行、一次性任务
  • 使用 start 命名:服务启动、后台进程、长期运行的应用

示例:

version: '3'

tasks:
  run:
    desc: 运行应用(开发模式)
    cmds:
      - go run main.go

  start:
    desc: 启动服务(生产模式)
    cmds:
      - ./bin/app

参考