用途
本技能用于在 Mise 中定义和管理任务,服务于构建自动化、测试和开发工作流。任务通过 mise.toml 配置,也可通过文件任务形式定义。
主要能力
基础任务定义
在 mise.toml 中以 TOML 形式定义任务,包含 description 与 run 字段:
[tasks.build]
description = "Build the project"
run = "cargo build --release"
运行任务:
mise run build
mise build # 无命令冲突时的简写
mise run build test lint # 运行多个任务
mise tasks ls # 列出可用任务
mise tasks info build # 查看任务详情
任务依赖
支持顺序依赖与并行依赖,Mise 会在可能时自动并行运行依赖:
[tasks.deploy]
description = "Deploy the application"
depends = ["build", "test"]
run = "./deploy.sh"
文件任务
在 .mise/tasks 目录下创建可执行文件作为任务,通过注释声明元数据:
mkdir -p .mise/tasks
cat > .mise/tasks/deploy <<'EOF'
#!/usr/bin/env bash
# mise description="Deploy the application"
# mise depends=["build", "test"]
echo "Deploying..."
./scripts/deploy.sh
EOF
chmod +x .mise/tasks/deploy
文件任务元数据支持 description、depends、sources、outputs。
高级配置
- 任务参数:通过 run 脚本中的位置参数(如 $1)接收参数。
- 环境变量:通过 env 字段为任务设置环境变量。
- 任务别名:通过 alias 字段定义简写。
- 文件监听:可使用 cargo watch 等外部工具,或使用内置的
mise watch --task build。
Monorepo 任务模式
支持工作区任务(如 pkg-a:build)以及每个包独立的 mise.toml 任务定义。
任务校验
mise tasks validate # 校验所有任务
mise tasks info build # 检查特定任务
常见校验错误包括缺少必填字段、无效依赖、循环依赖。
使用方式
在项目根目录的 mise.toml 中按用途组织任务,使用描述性名称,通过 depends 声明依赖而非在 run 中手动串联命令,使用环境变量(如 $MISE_TASK_NAME、$MISE_PROJECT_ROOT、$MISE_CONFIG_ROOT)而非硬编码路径。
适用场景
- 构建自动化与多阶段构建
- 测试编排(单元测试、集成测试)
- 开发工作流(开发服务器、监听重建)
- CI 检查流水线
- Monorepo 多包任务管理
限制
资料未提供 Mise 的安装方式、版本要求、平台支持范围、性能数据或收费信息。