Business Technology05

Updated 2026.09.03

Field Note

検証はどこで行うと、開発が止まらなくなるか

同じリポジトリで複数の作業を並行させたとき、最初に足りなくなったのは開発時間ではなく、共有の自動ビルド環境でした。ピース・ビズが検証をどこに置き直したかを整理します。

検証を手元・共有環境・公開前プレビュー・本番の四段階に分けて置いた経路の図。

先に要点

当社では、速く終わる検証を手元へ、時間のかかる検証を公開前の関門へ移しました。共有の自動ビルドは、変更のたびに走らせる確認手段ではなく、公開してよいかを判断する最後の関門として使っています。この分け方に変えてから、待ち時間が原因で作業が止まることがなくなりました。

  • 型の検査と掲載内容の検査は数秒で終わるので、手元で何度でも回す
  • 組み立てと静的な書き出しは時間がかかるので、まとめて通す
  • 共有の自動ビルドは、同じ作業の古い実行を止める設定にしている

検証の総量を減らしたわけではありません。置く場所を変えただけです。

詰まったのはコードではなく、順番待ちだった

作業を増やすと、作業そのものより先に、共有している設備が足りなくなります。

当社のサイトは、公開用に組み立てるときに、静的な HTML の書き出しと、掲載内容・検索まわりの整合検査までを一続きに行います。この工程は数分かかります。一つの作業だけを進めているうちは、これで困りません。

複数の作業を並行させると、事情が変わりました。変更を上げるたびに共有の自動ビルドが起動し、別の作業の実行が終わるまで待つ、という状態が発生します。しかも、その多くは「型が通っていない」「掲載内容の必須項目が抜けている」といった、手元で数秒で分かることが原因でした。

足りていなかったのは環境の性能ではなく、確認の順番でした。数秒で分かることを、数分かかる場所で確認していたのが問題です。

何を、どこで確認しているか

当社の現在の分担です。所要時間の桁が違うものを同じ場所に置かない、という基準で分けています。

確認する内容実行する場所なぜそこか
型の整合手元数秒で終わり、失敗の大半がここで見つかるため
掲載内容の決まり(必須項目・リンク先の実在・重複)手元同じく数秒で終わり、内容の誤りは早いほど直しやすいため
検索まわりの生成物の整合手元生成物を変更と同じ単位で残す必要があるため
本番と同じ手順での組み立てと静的書き出し手元でまとめて一度数分かかるため、作業のたびには回さない
公開してよいかの最終確認共有の自動ビルド手元の環境差に依存しない状態で確認するため
公開前の見え方の確認公開前のプレビュー実際に配信される形で見る必要があるため

表は横にスクロールできます。

手元と共有の自動ビルドで同じ検査を通しています。二重ですが、手元は速さのため、共有側は環境差を排除するために必要でした。

手元へ移して効いたもの

実際に順番待ちを減らしたのは、次の四つでした。

  1. 掲載内容の決まりを、機械が読める形にした

    必須項目が埋まっているか、リンク先が実在するか、題名や説明文が重複していないかを、公開前ではなく編集直後に検査できるようにしました。内容の誤りは、書いた直後がいちばん直しやすいためです。

  2. 検査を用途ごとに分けて、単独で走らせられるようにした

    全部まとめてしか実行できないと、一箇所の確認のために全部を待つことになります。内容の検査だけ、生成物の検査だけ、というように分けました。

  3. 同じ作業の古い実行を止めるようにした

    同じ作業に続けて変更を上げると、以前の実行はもう結果を使いません。共有の自動ビルド側で、古い実行を打ち切る設定にしています。

  4. 生成物の差分をそのまま失敗として扱うようにした

    検索まわりの生成物は、内容から自動生成されます。生成し直した結果が記録されている内容と食い違っていれば、そこで止めます。あとから「生成し忘れ」を探す作業がなくなりました。

並行作業で最初に足りなくなったのは、開発時間ではなく共有ビルド環境だった

変更を上げる前に通している順番

当社が手元で踏んでいる順番です。上ほど速く、下ほど重い検査になっています。

  1. Step 01

    型を通す

    まず型の検査を通します。ここが落ちている状態で先へ進むと、後続の検査結果が読めなくなります。

  2. Step 02

    掲載内容の決まりを通す

    必須項目、リンク先、重複、公開してよい表現かどうかを検査します。内容を触ったときは、ここまでで大半の誤りが見つかります。

  3. Step 03

    生成物を作り直して、差分を確認する

    内容から生成される一覧や参照用ファイルを作り直し、記録済みのものと一致するかを見ます。差分があれば、その生成物も同じ単位で残します。

  4. Step 04

    本番と同じ手順で一度組み立てる

    静的な書き出しまで含めて通します。ここまで通してから変更を上げると、共有側で落ちる回数がはっきり減りました。

手元で足りるもの/共有の環境でしか確認できないもの

分担を決めるときに使った基準です。

手元で足りる

  • 型と掲載内容の整合
  • リンク先や必須項目の抜け
  • 生成物が最新かどうか
  • 大きさの上限を超えていないか

共有の環境が要る

  • 手元の設定に依存していないか
  • 指定した実行環境の版で通るか
  • 公開前の状態を第三者が見られるか
  • 公開の記録が残ること

どちらでも分からない

  • 内容が読み手にとって正しいか
  • 公開してよい情報かどうか
  • その変更が必要だったか
  • 運用を続けられるか

「自動ビルドが通ったから正しい」ではない

「自動ビルドが通ったから正しい」ではない

自動検査が通ることは、公開してよいことの必要条件であって十分条件ではありません。当社でも、すべての検査が通ったうえで、実際の画面では文字がはみ出していた、ということがありました。関門は「落とすため」に置いています。通ったことを根拠に確認を省くと、関門を置いた意味がなくなります。

検証を増やすときに確認していること

検査は増やすほど安心ですが、増やしすぎると誰も通さなくなります。追加する前に見ている項目です。

追加してよい検査

  • 落ちたときに、何を直せばよいかが分かる
  • 単独で実行できる
  • 実行時間が、その検査を置く場所に見合っている
  • 偽の失敗(本当は問題がないのに落ちる)が起きにくい

追加を見送る検査

  • 落ちる理由が毎回違い、原因を特定できない
  • 実行のたびに結果が変わる
  • 全体を通さないと実行できない
  • 直し方が決まっていない

偽の失敗が続く検査は、いずれ無視されます。無視される検査は、無いのと同じどころか判断を鈍らせます。

Field Note

この記事について

実際の業務・運用で得た経験をもとに整理した記事です。

First-hand experience

ピース・ビズが自社コーポレートサイトの開発で、複数の作業を並行させたときに実際に起きたことと、その後に行った検証の置き直しにもとづいて書いています。対象はピース・ビズ単体の自社サイト運用です。利用しているサービスの料金体系や上限には触れていません。

Published
2026.09.03
Updated
2026.09.03
Published by
Peace Biz

FAQ

このテーマでよくいただく質問

目的が違います。手元は速く見つけるため、共有側は環境差を排除するためです。手元だけにすると「自分の環境では通る」状態を見逃し、共有側だけにすると数秒で分かることを数分待つことになります。当社では両方に置いたうえで、実行のきっかけを分けています。

必要かどうかは、更新の頻度と並行する作業の数によります。作業が常に一つで、更新も月に数回であれば、手元で組み立てて確認するだけでも回ります。当社が分担を見直したのは、並行作業が増えて順番待ちが発生してからです。

判定基準が一つに決まるものだけを自動化しています。内容が読み手にとって正しいか、公開してよい情報かどうかといった判断は自動化していません。自動化できる範囲を広げるより、自動化できない判断を誰が行うかを決めておくほうが効いています。

業務とテクノロジーのトピックに戻る

このテーマで公開している記事の一覧をご覧いただけます。