リモート MacGitLab RunnerPHP 依存取得 を安定させる 判断マトリクス です。ホームブログ一覧購入ヘルプはログイン不要。関連:Gradle・Maven マトリクスGit・npm・brew 跨境Go プロキシ連鎖

シナリオとボトルネック(跨境タイムアウト・認証・ロック一貫性)

跨境往復遅延中間タイムアウトcomposer install が切れやすく、私服と公開源 の混在は 認証抜け で再現性を壊します。composer.lockローカルと CI で揃えないと 同コミットでも解決差 が出ます。以下で 取得順と Runner 設定 を固定します。

Packagist・国内ミラー・企業私服の連鎖回源:composer config 対照表

三層 の例です。URL は 社内許可リスト に合わせて置換してください。

役割設定例
企業 GitLab 私服社内一次源composer config repositories.gitlab composer "https://gitlab.example.com/api/v4/group/ID/-/packages/composer/"
国内ミラー近接キャッシュcomposer config repositories.cnmirror composer "https://mirrors.aliyun.com/composer/"
本家 Packagist最終フォールバックcomposer config repositories.packagist composer "https://repo.packagist.org"

補足composer config --unset repos.packagist 後に 順に登録 する運用では、トークンCOMPOSER_AUTH に閉じ、優先度と切替手順 を Wiki に残します。

GitLab CI と並列ジョブ:HTTP プロキシ・リトライ退避パラメータ一覧

同一出口過剰並列枯渇とレート制限 を招くため resource_group 等で抑え、HTTP_PROXYHTTPS_PROXY 利用時は NO_PROXY社内 GitLab を入れます。

項目置き場所メモ
認証マスク CI 変数 → COMPOSER_AUTH短命・ログ禁止
リトライretry:+シェル指数待機二四八秒など三回が目安
タイムアウトジョブ timeoutCOMPOSER_PROCESS_TIMEOUT巨大ベンダ想定で余裕

リモート Mac の shell でも 同じ変数launchd または before_script で注入し --no-interaction を固定します。

リモート Mac 上のキャッシュディレクトリ・COMPOSER_CACHE_DIR・CI キャッシュ鍵

COMPOSER_CACHE_DIRジョブ別サブディレクトリartifact で競合を避け、cache:keycomposer.lockハッシュPHP 版 を含めます。

  • 引用①composer validate --strictマージ前ゲート に。
  • 引用②--prefer-dist 既定で 揺らぎ に強くする。
  • 引用③composer clear-cache定期メンテ に入れ容量とヒット率を見る。

実装チェックリスト(五ステップ)

運用へ貼る順序
  • 公開/社内 比率を数え 取得元表 をレビュー。
  • repositories.*リポジトリコミット で共有。
  • Deploy Token 等を COMPOSER_AUTH のみへ。
  • COMPOSER_CACHE_DIRcache:key 規則 を文書化。
  • タイムアウト・認証・ハッシュ の三パターンで 切替と再試行 を手順化。

FAQ(401・レート制限・ハッシュ検証失敗)

401/403(私服)

gitlab-tokenホストリダイレクト後 と一致するか、スコープと期限 を確認します。

レート制限・429

並列を下げ キャッシュ命中 を上げ、Retry-After に従い バックオフ します。

ハッシュ/checksum 不一致

古いミラープロキシ改変 を疑い、信頼端末lock を揃え 取得元を一本化 します。

まとめ取得順・認証・キャッシュ鍵・並列退避 を決めれば 跨境 PHP CI が安定します。MacPull常時稼働リモート MacRunner 土台 を固め パイプライン を載せてください。ホーム購入ヘルプブログ一覧はログイン不要です。

PHP CI × リモート Mac

Composer 取得を安定ホストする Mac ノードを選ぶ

ヘルプセンター購入ページホームはログイン不要です。関連 CI 記事は 技術ブログ一覧 からどうぞ。

複数リージョン
SSH
柔軟な契約
サポート