AI・自動化

毎回手で打っていた作業をスクリプトにまとめた話

目次

同じ手順を毎回手で繰り返していると、打ち間違いと手順の抜けが必ず起きます。まとめて自動化するのではなく、効果が出るところから 1 つずつ置き換えました。

自動化記事のアイキャッチ

自動化する順番

いきなり全部を自動化しようとすると、作るのに時間がかかって挫折します。次の順で選ぶと失敗しにくいです。

  1. 回数が多い作業
  2. 手順が決まっている作業
  3. 間違えると面倒な作業

回数が少なくても、間違えたときの手戻りが大きい作業は優先度が上がります。

実際に置き換えたもの

毎回打っていた一連のコマンドを、1 つのスクリプトにまとめました。

#!/usr/bin/env bash
set -euo pipefail

echo "1. 依存を入れる"
npm ci

echo "2. ビルドする"
npm run build

echo "3. 結果を確認する"
ls -la dist/

set -euo pipefail を先頭に置くのが要点です。これがないと、途中のコマンドが失敗しても最後まで走り、成功したように見えてしまいます。

つまずいた点

  • 途中で失敗しても止まらない。上のとおり、エラー時に停止する設定を先に入れる
  • どこまで進んだかわからない。各段階の前に何をしているかを表示する
  • 環境によって動かない。パスを決め打ちせず、実行位置に依存しない書き方にする

効果

手順書を見ながら 10 分かけていた作業が、1 コマンドで終わるようになりました。時間の短縮より、手順の抜けがなくなったことのほうが大きいです。

まとめ

自動化は、作業を速くするためだけのものではありません。毎回同じ結果になることのほうが価値があります。まずは回数の多い作業から、1 つずつ置き換えるのが現実的です。