XGitHub

Taskfileを使ってみました

Published Icon
2024-09-02
Tag Icon

Taskfile とは

Taskfile とはタスクランナー/ビルドツールで、Makefile よりもシンプルで使いやすいことを目指しています。

Go 言語で書かれているため、バイナリ 1 つで他に依存するものがありません。

Taskfile.ymlというファイルにシンプルなスキーマを使ってタスクを記述するだけです。

TaskA fast, cross-platform build tool inspired by Make, designed for modern workflows.
favicontaskfile.dev
ogp

インストール

Mac と Windows はそれぞれ以下のコマンドでインストールできます。

  • Mac
brew install go-task/tap/go-task
  • Windows
winget install Task.Task

Go 言語の環境があれば以下でも可能です。

go install github.com/go-task/task/v3/cmd/task@latest

使い方

まずはTaskfile.ymlを作成し、以下のコードを記述してください。

Taskfile.yml
version: "3"
 
tasks:
  # タスク名
  hello:
    # 実行するコマンド
    cmds:
      - echo 'Hello World from Task!'
    #出力結果のみターミナルに表示
    silent: true

その後ファイルと同じ階層で以下のコマンドを実行します。

task hello

するとターミナルに以下が表示されるはずです。

Hello World from Task!

モノレポ環境で実行

今回は React と Golang のモノレポ環境で使うコマンドを考えます。

Taskfile.yml
version: "3"
 
silent: true
 
tasks:
  dev:
    desc: Start dev server
    deps:
      - task: dev:backend
      - task: dev:frontend
 
  dev:backend:
    desc: Start backend dev server
    dir: ./backend
    cmd: air
 
  dev:frontend:
    desc: Start frontend dev server
    dir: ./frontend
    deps:
      - frontend:install-deps
    cmd: bun run dev

上記のコードを記載後task devコマンドを実行するとフロントエンドとバックエンドが起動します。

参考

Taskfileを使ってみよう
faviconzenn.dev
ogp