4 个版本 (2 个破坏性更新)

0.3.0 2024 年 7 月 6 日
0.2.0 2024 年 6 月 10 日
0.1.1 2023 年 9 月 4 日
0.1.0 2023 年 9 月 2 日

#86测试

Download history 162/week @ 2024-06-07 17/week @ 2024-06-14 117/week @ 2024-07-05 4/week @ 2024-07-12

每月 226 次下载

MIT 许可证

22KB
456 代码行

Tesuto

Tesuto 是一个极简工具,允许您自动化构建、部署等任务。它使用 YAML 语法,使项目更容易理解。

此项目的主要目标是提供快速、轻量且易于使用的实用工具。

安装

您可以使用 cargo 安装 Tesuto

cargo install tesuto

此外,如果您已安装 cargo-binstall,您也可以使用它

cargo binstall tesuto

如果您想从源代码构建 Tesuto,请使用此命令

cargo build --release

使用方法

要初始化新项目,请使用 new 子命令运行初始化向导

tesuto new

初始化向导将询问您两个问题

  • 您希望如何命名您的项目? 此名称用于轻松识别您正在运行的项目。
  • 您想使用示例项目吗? 如果您键入 Y,它将生成一个示例项目。这对于新用户了解项目结构很有帮助。

有关如何配置项目的详细信息,请参阅配置部分。

您可以使用 run 命令轻松运行您的项目

tesuto run

# If your project is in different location.
tesuto run --project "configs/tesuto.yml"

此外,您还可以使用 run-job 命令运行特定作业

tesuto run-job cargo

配置

结构

Tesuto 使用 YAML 语法进行项目。项目结构非常简单

name: TesutoProject
jobs:
  hello:
  - name: Print 'Hello world!'
    run: echo "Hello World!"
    quite: false

在上面的代码块中,您可以查看示例项目。如果您选择不生成示例项目,您将看到一个空的项目,如下所示

name: TesutoProject
require: []
jobs: {}

在项目根目录中有三个字段

  • name - 用于识别项目。
  • with - 运行项目时的附加选项。
  • require - 运行此项目所需的程序列表。
  • jobs - Tesuto需要执行的操作。我们将跳过name字段,因为它的作用很明显。

with选项

with字段用于为您的项目提供附加选项。它有两个选项

...
with:
  shell:
    program: "zsh"
    args:
      - "-c"
      - "{}"
  cwd: "build"
  • shell - 允许您指定要运行的shell。注意,在参数字段中添加大括号非常重要,如上面的示例所示,因为Tesuto会用运行命令替换它们。
  • cwd - 更改Tesuto的工作目录。

必需的程序

require字段中,您可以指定运行此项目所需的程序

...
require:
  - git
  - cargo
...

这是一个将通过PATH搜索查找的程序列表。如果这些程序中的一个找不到,Tesuto将崩溃并告诉您找不到哪个程序。

作业和步骤

作业包含Tesuto完成作业所需的步骤。项目中的每个作业将逐个执行。作业的语法看起来像这样

...
jobs:
  cargo:
  - name: Build release binary
    run: cargo build --release
    quite: false
...

步骤有3个属性

  • name - 步骤的名称。如果为空,它将被应运行的命令替换。
  • run - 要运行的命令。如果此字段为空,Tesuto将只显示步骤的名称。如果名称和run字段都为空,Tesuto将跳过该步骤。
  • quite - 是否显示输出。您可以创建所需的任何数量的作业和步骤。您的流程没有限制。

依赖关系

~5-15MB
~203K SLoC