Skip to content

[Review 2026-08-15][Pages] legacy managed runtimeとcustom deployment移行判断を全公開書籍で再評価する #271

Description

@ootakazuhiko

位置付け

親ロードマップ: #265
基準日: 2026-08-15(Asia/Tokyo)

背景

#258では、repository側で制御可能なNode.js 20対象ActionをNode.js 24対応へ移行した。一方、GitHub管理のlegacy pages-build-deploymentが生成するactions/checkout@v4 / actions/upload-artifact@v4等のwarningはrepository sourceから直接修正できない。

#258の最終バッチでは変更対象27冊を母数としてlegacy 22 / workflow 5が報告された。別の全カタログ監査では公開書籍全体を母数として異なる件数が観測されているため、本Issueでは実行時点のdocs/_data/catalog.jsonを唯一の母数として再集計する。

warning解消だけを目的に全legacy Pagesをcustom deploymentへ一括移行しない。GitHub側runtime更新、実障害、運用コスト、rollback能力を比較して判断する。

通常実行日

2026-08-15より前は実装・設定変更を行わず、次の前倒し条件が発生した場合のみ即時調査する。

前倒し条件

  • GitHub managed Pages runtimeの更新
  • runtime理由によるmanaged run失敗
  • Pages APIのstatusbuilt以外
  • 公開URLがHTTP 200以外
  • managed workflow warningがfailureへ昇格
  • GitHubから明示的な移行期限が発表された

評価項目

  • Pages API build_type, source, status
  • latest successful deployment
  • warning / annotation
  • public HTTP
  • deployment duration / failure rate
  • repository管理workflowの有無
  • build command / output directory / base path
  • custom deploymentへの移行工数
  • build identity / production smoke / drift detection
  • rollback
  • maintenance ownership
  • private / preview / paid-free境界

Codex CLI Runbook

0. 起動

2026-08-15以降、または前倒し条件発生時に実行する。

RUNROOT="$HOME/work/iteka-pages-review-20260815-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$RUNROOT"
cd "$RUNROOT"
git init

codex exec \
  -C "$RUNROOT" \
  --sandbox workspace-write \
  -a on-request \
  "GitHub Issue itdojp/it-engineer-knowledge-architecture#271 と親Issue #265、完了Issue #258をgh CLIで全文取得してください。現在日が2026-08-15より前で前倒し条件もない場合は、実装・設定変更・cloneを行わず状況だけ報告してください。実行可能な場合は、ポータルcatalogの全published書籍を母数としてPages API、managed warning、deployment、公開HTTP、移行コストを再監査し、代表pilotが必要な場合だけ小規模に実施してください。全冊一括移行は禁止です。証跡と移行判断を記録し、完了条件を満たした場合だけ#271をcloseしてください。"

1. 実行可否

date -Iseconds
gh issue view 271 --repo itdojp/it-engineer-knowledge-architecture --comments
gh issue view 258 --repo itdojp/it-engineer-knowledge-architecture --comments
  • Asia/Tokyoの現在日を確認
  • 前倒し条件の有無を確認
  • 実行根拠を#271へコメント

2. catalog母数

gh repo clone itdojp/it-engineer-knowledge-architecture it-engineer-knowledge-architecture

docs/_data/catalog.jsonから次を抽出する。

  • status=published
  • repository
  • pagesUrl
  • repoVisibility
  • publicationScope
  • countingGroup

catalog件数、重複、missing URLを検証する。過去の27冊、42冊等の固定数を母数にしない。

3. GitHub API監査

各公開書籍についてAPIを集約し、rate limitを考慮する。

取得:

  • repository default branch SHA
  • Pages API
  • latest workflow runs
  • latest pages-build-deploymentまたはcustom deploy
  • annotations取得可能範囲
  • environment deployment

分類:

  • legacy managed
  • workflow custom
  • private management + public Pages
  • unavailable / misconfigured

出力:

  • 決定的JSON / TSV
  • #271のMarkdown summary

4. 公開監査

pagesUrlで:

  • HTTP status
  • expected title / marker
  • base path
  • 404 behavior
  • key route
  • cache-busting / no-cache
  • TLS / redirect

custom deployment書籍では可能ならbuild identity、expected SHA、production smoke、drift detectionを確認する。

5. warning評価

legacy managed warningについて:

  • GitHub側runtime / action version
  • warningかfailureか
  • repository sourceから変更可能か
  • GitHub official announcement / release / deprecation
  • current impact

warningのみでrun成功・Pages正常の場合は、それだけでcustom移行を決定しない。

6. custom deployment費用対効果

代表書籍を構成別に分類する。

  • standard Jekyll
  • custom Jekyll
  • mdBook
  • private management / free preview
  • previewを必要とする書籍

評価:

  • workflow template再利用性
  • permissions
  • artifact
  • environment
  • baseurl
  • build identity
  • post-deploy smoke
  • drift detection
  • rollback
  • required secrets
  • maintenance cost

移行pilotが必要なら1〜2冊だけsource Issue / PRを作成する。全冊一括移行はしない。

7. 判断カテゴリ

各repoを次へ分類する。

  1. managed継続
  2. GitHub側更新待ち
  3. custom deployment pilot候補
  4. 即時移行必要
  5. Pages設定修復必要
  6. archive / catalog整理必要

各判断に根拠、owner、期限、前倒し条件を記載する。

8. 最終確認

  • 全catalog published repoを同じ母数で監査
  • Pages build type集計
  • HTTP非200 0、またはsource Issue作成済み
  • managed warningとrepository管理warningを分離
  • custom移行判断とrollbackを記録
  • pilotを行った場合review / CI / main / Pages証跡
  • Open pilot PR 0
  • workspace cleanup

完了条件

  • 2026-08-15時点または前倒し時点の全公開書籍Pages inventoryがある
  • legacy / workflow件数がcatalog母数と一致
  • GitHub managed runtimeの最新状態を一次情報で確認
  • 書籍ごとの継続/移行/待機判断がある
  • 移行pilotは最大2冊で検証済み、または不要理由を記録
  • 全冊一括移行を行っていない
  • #265へ結果を反映

対象外

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions