2026Git LFSリモートMacCISSHSFTPrsync

2026 リモートMac CIにおけるGit LFSと大容量オブジェクト:SSH、資格情報、キャッシュキー、SFTP/rsync成果物の意思決定マトリクス

iOS/macOS向けの専用Macランナーでは、Git・Git LFS・巨大なrsync/SFTPドロップが同一ワークスペースに混在します。git cloneが成功してもLFS実体や自動化ユーザーの資格情報が揃っている保証はなく、成果物が検証前に読まれると署名やテスト失敗に見えます。本稿は層状の切り分け・初動表・七手順でcheckout、LFS取得、キャッシュ分離、段階アップロード、チェックサム、原子切替を明示化し、整合性ゲート並列SFTP原子リリースSequoia無人rsyncへ接続します。

セキュリティとコンプライアンスには分離トランスポートが有利で、性能チームには隠れたフェッチ分がそのままパイプライン遅延になる点を共有します。手順が揃ってもハード刷新とingress設計が逼迫するなら、SFTPMACのベアメタルingressがインシデント短縮に寄与し得ます。

Git LFSリモートMacCISSHrsyncSFTP
2026 リモートMac CI Git LFS SSH キャッシュ SFTP rsync マトリクス 表紙

痛みの核:緑のcloneが嘘をつく理由

1 ポインタはバイナリではない。.gitattributes後はテキスト指標のみ。git lfs pullが同じユーザー文脈で無いとXcodeはスタブを見る。

2 資格情報の断絶。Keychainやssh-agentlaunchdやRunnerが継承しない。LFSはHTTPS/SSHで静かに失敗しWANのように見える。

3 キャッシュキーと並列。共有LFSルートは一方が削除し他方がコンパイル中、または古いヒットで誤版を注入する。

4 成果物の順序逆転。サブモジュール未完の巨大zipは可変パスと競合し再現性を壊す。Git+LFS→staging→検証→原子、のDAGが必要。

層状切り分け:Git→LFS→搬送

L0 ssh -o BatchMode=yesでingressを同一鍵で確認し、known_hostsControlMasterでMITMをquota誤認から切り離す。

L1 git statusとblobless初回blob遅延を読む。

L2 git lfs ls-filesgit lfs envをCIログにマスク付きで残す。

L3 rsync/SFTPがstaging/にマニフェスト付きで入るか、inbox/直読みを禁止する。

指標:分をトレンド化する

clone秒、LFS秒、キャッシュ命中率、リトライ、検証結果、APFS inode余力を記録する。LFS P95が約300秒を超えたら、小さく強く版管理されたblobはLFSに、巨大で疎結合な束はimmutable名でrsyncへ、と責務分割し、WAN並列と突き合わせて狭帯域競合を可視化する。

ツールチェーン更新ごとにgit lfs env差分を1枚残すと「コミット無しの遅化」を追跡しやすい。四半期ごとにホスティング側LFS価格とスロットルを見直し、経済性が崩れたら設計を変える。

初動表

兆候先ず成果物側
数百バイトpull欠如git lfs pullとhooksPathzipがLFSパスを上書き禁止
同枝で欠損キャッシュ競合ジョブ別ルートとSHAキー一時dir+原子rename
CIユーザーのみ資格情報欠如deploy keyや機械ユーザーSFTPとGit読取を分離
初回のみ遅いblobless冷えミラー温めと.git/lfsキャッシュ巨大物は製品庫+rsync

七手順

  1. 冒頭でwhoami等とマスクenvを出す。
  2. サブモジュールSHA固定。
  3. git lfs install --local後にinclude付きpull。
  4. キャッシュはファミリー単位、他ジョブ削除禁止。
  5. staging/へ書きSHA256SUMSで止める。
  6. 並列はSFTP表でMaxStartupsと inode を見る。
  7. フェーズ別JSONログで週次レビュー。

例:checkout後の明示LFS

git clone --filter=blob:none --no-checkout "$REPO" workspace
cd workspace
git checkout "$SHA"
git lfs install --local
git lfs pull --include="Art,Models,ThirdParty/Binaries"

法務が分離を懸念しても、別鍵と別マニフェストなら監査は強まる。スキャナはLFS egressを通常扱いしドメインを許可リスト化する。

まとめ:手順は再現性を上げるが、plistや広域遅延の運用コストは残る。コストが限界ならSFTPMACのマネージドingressでディレクトリ分離と観測を前倒しし、パイプライン定義は手元に置ける。

関連

無人運用はSequoia記事、整合性はchecksum記事、並列はSFTP記事、切替は原子リリース記事を順に読むと理解が揃う。

FAQ

全部Git外へ?

強版管理の中規模はLFS、巨大疎結合は製品庫+rsync。スローガンではなく表で決める。

リモートMacの利点

ネイティブツールチェーンとAPFS意味論が揃い、署名・公証段の静かな破損を減らす。

レンタル判断

手順が揃ってもオンコールが削れないとき。SLA志向の運用に寄せつつ所有感は維持する。