タスクランナーをgo-taskにする

エキサイト株式会社メディア事業部エンジニア佐々木です。開発で使用するタスクランナーは、一般的にMakefileを使うものが多いかと思います。より簡単なgo-taskを紹介いたします。

インストール

Macの場合は、Homebrewを使用しインストールします。

brew install go-task

他のOSは、公式ドキュメント を参照してください。

タスクファイル

Taskfile.ymlを作成します。Makefileのようなものです。

YAML形式ですので、視認性が良いです。

version: '3'
tasks:
  helloworld:
    desc: hello world
    cmds:
        - echo 'hello world'
        - echo 'hello world' > output.txt

  helloshell:
    desc: hello shell
    cmds:
        - echo 'helloshell'
    silent: true

上記のように視認性が良いです。

実行

設定したタスクを実行してみます。

$ task helloworld helloshell 

task: [helloworld] echo 'hello world'
hello world
task: [helloworld] echo 'hello world' > output.txt
helloshell

正常に動作しています。設定で silent: true を設定することで、実行時の標準出力から task: xxx がなくなって結果のみになります。

タスク一覧

Makefileでは、呪文をかかないとタスク一覧がでてきませんでしたが、go-taskでは、タスク一覧を表示してくれるものが標準で備わっています。

$ task -a


 task -a
task: Available tasks for this project:
* helloshell:                 hello shell
* helloworld:                 hello world

desc も記載しておくことで、説明も出力してくれます。

まとめ

Makefileより視認性も使いやすさもあると感じました。標準導入に向けて活動していこうと思います。

最後に

エキサイトではフロントエンジニア、バックエンドエンジニア、アプリエンジニアを随時募集しております。長期インターンも歓迎していますので、興味があれば連絡いただければと思います。

募集職種一覧はこちらになります!(カジュアルからもOK) www.wantedly.com