Apple Silicon のリモート Macで self-hosted CI を回す JVM チーム向けに、私服・地域ミラー・中央の比較、GRADLE_USER_HOME と M2 のキャッシュ配置、--parallelworkers.maxmvn -Tタイムアウトと指数バックオフを決定表にします。多言語依存はブログ一覧Go マトリクスも参照ください。

痛点:宣言の食い違い・キャッシュ散在・並列過多

  • dependencyResolutionManagement だけ私服でも buildscriptpluginManagement が Central 直だと跨境が残ります。
  • GRADLE_USER_HOME~/.m2 がジョブごとにズレるとヒット率が落ち、高 workers.maxmvn -T 2C の併用で出口 HTTP が飽和します。

ミラー端点の比較表(Gradle/Maven 共通)

方式向く場面
私服https://nexus.corp/.../maven-public/監査・帯域内完結
地域+中央ミラー → Central/Plugin Portal跨境 RTT 削減 CI
ハイブリッド公開はミラー、社内 jar は releasesexclusiveContentmirror 順を文書化

キャッシュパス(GRADLE_USER_HOME・M2)

項目パス
GRADLE_USER_HOME既定 ~/.gradle。共有機は /var/cache/ci/gradle 等で全ジョブ統一
Gradle 実体$GRADLE_USER_HOME/caches/modules-2/files-2.1/
Maven~/.m2/repository または localRepository

--parallel・ワーカー・mvn -T の目安

コア数を n、同時パイプライン本数を把握したうえで読み替えてください。

項目推奨
Gradle org.gradle.workers.maxまず max(2,n/2)429 や await 悪化なら n/4
Maven-T 1 で取得、ビルドは -T 1C から。余裕時のみ -T 2C
合算同時パイプラインのワーカー積が出口セッションの約七割以内

タイムアウト・リトライ(指数バックオフ)

跨境は接続・ソケットを 60〜120 秒から。ラッパーは同一取得に最大三回、待機 二・四・八秒+ジッター数百 ms。下記は gradle.properties 例です。

断片
systemProp.org.gradle.internal.http.connectionTimeout=120000
systemProp.org.gradle.internal.http.socketTimeout=120000

五ステップ

1

repositoriespluginManagementbuildscriptsettings.xml の mirror を揃える。

2

export GRADLE_USER_HOME と M2 を runner 間で同一パスに固定する。

3

workers.maxmvn -T を段階適用し、同時 HTTP を数える。

4

タイムアウトとシェルリトライを入れ、ログに URL を残す。

5

gradlew --offlinemvn -o でキャッシュ健全性を週一確認する。

  • 数値メモ:共有 Mac でワーカー×パイプラインがコアの約一点五倍を超えたら並列を見直す。

まとめ

2026 年のリモート Mac では端点一本化キャッシュ固定並列と接続数の釣り合いが再現性を決めます。Gradle と Maven を併用するジョブでは外向き HTTP の合算が読み取れるようログに残すと切り分けが速くなります。よくある質問は本文下の JSON-LD(FAQPage)にまとめています。

次のステップ:MacPull ホームでリモート Mac の用途を確認し、リモート Mac 購入ページ(ログイン不要で閲覧できる範囲)からプランを選びます。SSH・接続手順はヘルプセンターの接続カテゴリをご覧ください。

リモート Mac

JVM CI を安定させるなら、ノードと接続手順の確認から

ホームで概要を把握し、購入ページでプランを選び、ヘルプで SSH/接続を確認できます(ログイン不要で閲覧できる範囲)。