SuperAPI AI 工具集

mise-task-configuration

部署与运维

查看项目

更新于 10-16 02:11

技能介绍

用途

本技能用于在 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 的安装方式、版本要求、平台支持范围、性能数据或收费信息。