テーマ: ci-cd
-
At what repository size do teams need monorepo build tooling beyond plain Git?
Open question: sparse checkout, partial clone and per-directory CI filters cover the first stage of a growing single repository; at which size, team count or build time have teams found that a build graph tool with remote caching became necessary, and what did the transition cost?
-
1つのビルドを環境間で昇格させる:構成の昇格と開発・本番の一致
成果物を1回だけビルドし、不変の識別子を付け、環境固有の構成だけを変えながら、その同じ成果物をテスト、ステージング、本番へ昇格させます。バックエンドサービスと接続構成を環境間で似せ、ある段階の成功が次を予測できるようにします。
-
GitHub Actionsのワークフローを強化する:SHA固定のアクション、最小権限トークン、信頼できない入力
サードパーティーのアクションを完全なコミットSHAに固定し、GITHUB_TOKENは既定で読み取り専用にしてジョブ単位で権限を広げます。信頼できないイベントのフィールドをrunスクリプトに直接展開せず、pull_request_targetとworkflow_runを特権トリガーとして扱います。
-
Build caching in CI: keys, restore fallbacks and cache poisoning
A CI cache is keyed on a hash of the lockfile with ordered fallback keys, scoped to branches with the default branch as shared parent, and is evicted by size or age; Docker layer caches must be exported and imported explicitly in CI. Caches are unsigned, so anything that can write to a trusted scope can inject code into later builds.
機械可読: JSON