2026.08.12

本番を2回壊して学んだ。GASデプロイ後に必ず見る3つ

GASシステム開発

本番を2回壊して学んだ。GASデプロイ後に必ず見る3つ

顧客が毎日使っている業務システムを、自分のミスで2回連続で止めてしまったことがあります。

Google Apps Script(GAS)で作った見積システムの改修中の出来事です。コマンドは成功していました。エラーも出ていません。「よし、直った」とお客様に報告した直後に、「見積システムが見つからないんですが」と連絡が来る。それが1日のうちに2回起きました。

この記事では、その2つの事故が実際に何だったのか、そして「デプロイした後に必ず見る3つ」をまとめます。GASに限らず、Webアプリを本番運用している人、これから社内ツールをGASで作ろうとしている人に向けた実体験の記録です。

事故1: clasp redeployだけで、Webアプリが404になった

見積の一覧画面に並べ替え機能を追加して、clasp redeploy(既存デプロイの更新)を実行しました。ターミナルには成功のログ。固定URLにcurl打ってもレスポンスは返ってくる。ここまで見て「反映できた」と判断し、お客様に完了報告をしました。

数分後、「見積システムが見つからない」と連絡が来ました。固定URLを開くと404です。

原因はappsscript.jsonでした。このファイルにwebappセクション(誰の権限で実行するか、誰がアクセスできるかの設定)が書かれていない状態でclasp redeployかけると、Apps Script APIが既存デプロイのWebアプリ公開設定ごと消してしまう仕様だったのです。コマンドは「成功」しますし、HTTPのステータスコードだけ見ても、実は直前まで200が返っていたキャッシュを見ているだけだったりして気づけません。

appsscript.json

"webapp": {
  "access": "ANYONE_ANONYMOUS",
  "executeAs": "USER_DEPLOYING"
}

明記して再pushし、再デプロイして復旧しました。

事故2: .claspignore「pushしないだけ」のつもりが、サーバー側から消えた

1つ目の事故を直している最中、未確定の差分を巻き込みたくなくて、あるファイル(設定用の.gsファイル)を.claspignore書いてpushから除外しました。「pushしないだけだから、サーバー側はそのまま残るはず」という思い込みです。

これが間違いでした。.claspignore除外したファイルは、次のpushでサーバー側からも削除される仕様でした。結果、そのファイルに定義していた設定を他の関数が参照していたため、ReferenceError: Config is not defined全機能が停止しました。

curlでステータスコードを確認して200だったので、また「直りました」と報告し、また「エラーが出ている」と連絡が来る。同じ日に2回同じ失敗をしたことになります。

デプロイ後に必ず見る3つ

この2つの事故のあと、「完了しました」と報告する前に、必ず次の3つを確認するルールに変えました。

1. 実際にブラウザで開く
コマンドの成功ログやHTTPステータスコードだけでは、公開設定が消えているかどうかは分かりません。固定URLを実ブラウザで開いて、画面が描画されるところまで自分の目で見ます。

2. コンソールにエラーが出ていないか見る
画面が表示されても、一部の機能だけが裏で壊れていることがあります。デベロッパーツールのコンソールを開き、赤いエラーが出ていないかを確認します。事故2のような「参照エラーで一部機能だけ停止」はここで見つかります。

3. 実データが表示されるところまで見る
一覧が空、詳細が開かない、保存が通らない、といった不具合は「画面が出た」だけでは分かりません。実際のデータを1件開いて、最後まで動くことを確認してから報告します。

加えて、.claspignore「サーバー側ファイルを削除する」副作用があると分かったので、pushに含めたくないファイルがある場合は別ディレクトリに一時的に退避してからpushし、終わったら戻す、という運用に変えました。appsscript.jsonwebappセクションがあるプロジェクトでは、そのセクションを絶対に欠落させないことも、以後のチェックリストに固定しています。

まとめ

「コマンドが成功した」「HTTPステータスが200だった」は、「お客様が使えるようになった」の証明にはなりません。この当たり前のことを、業務システムを2回連続で止めてから痛感しました。

GASに限らず、本番環境に手を入れる作業をしている方は、報告の前に一呼吸置いて、実際の画面まで確認してみてください。

UMEO CREATEでは、GASやノーコードでの社内ツール開発・改修のご相談を承っています。「動いているはずなのに、時々止まる」「デプロイ作業が怖い」という方は、お気軽にお問い合わせください。

「うちの何にAIを使えるのか」から決めたい方

あてはまる症状に○をつけるだけで、どの業務から手をつけるかが分かる セルフ診断チェックリスト(A4×2枚・21項目)を無料でお配りしています。

診断チェックリストを受け取る(無料)

群馬県内でのAI導入・業務システム開発・AI研修のご相談を承っています。「何から始めればいいか分からない」段階からで構いません。下のフォームからお気軽にどうぞ。

← コラム一覧へ戻る

「AIで何ができるか分からない」
その段階のご相談こそ、歓迎です。

現状の業務の困りごとを伺うところから始めます。売り込みはしません。お気軽にどうぞ。

1営業日以内にご返信いたします。

フォームのほか、LINEでもご相談を承っています
LINEで相談する
友だち追加後、そのままトークでご質問いただけます