Я использую Google Cloud Build для создания Java-проекта, который имеет сотни зависимостей. По умолчанию кэш локального репозитория maven будет пустым, и он загружает все зависимости каждый раз при сборке .
Документация Google предлагает только "Кэширование каталогов с помощью Google Cloud Storage" https://cloud.google.com/cloud-build/docs/speeding-up-builds, но синхронизация 7000 файлов занимает много времени (что означает, что сборка идет медленнее)
только одна зависимость - 5 файлов
repository/org/mockito
repository/org/mockito/mockito-core
repository/org/mockito/mockito-core/2.15.0
repository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar
repository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar.sha1
repository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.pom
repository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.pom.sha1
repository/org/mockito/mockito-core/2.15.0/_remote.repositories
Пример файла cloudbuild.yaml
steps:
- name: gcr.io/cloud-builders/gsutil
args: ['rsync', '-r', 'gs://my-mavencache-bucket/repository', '.']
- name: 'gcr.io/$PROJECT_ID/mvn'
args: ['package']
...
Я бы хотел смонтировать gs: // my-mavencache-bucket как том - но я не вижу возможности сделать это