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

目次
同じ手順を毎回手で繰り返していると、打ち間違いと手順の抜けが必ず起きます。まとめて自動化するのではなく、効果が出るところから 1 つずつ置き換えました。
![]()
自動化する順番
いきなり全部を自動化しようとすると、作るのに時間がかかって挫折します。次の順で選ぶと失敗しにくいです。
- 回数が多い作業
- 手順が決まっている作業
- 間違えると面倒な作業
回数が少なくても、間違えたときの手戻りが大きい作業は優先度が上がります。
実際に置き換えたもの
毎回打っていた一連のコマンドを、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 つずつ置き換えるのが現実的です。