Изменить местоположение локального кэша репо для облачной сборки Jenkins - PullRequest
8 голосов
/ 15 декабря 2011

Мне нужно изменить место хранения загрузок репо. Я не могу использовать домашнюю страницу пользователя, потому что моя сборка выполняется в облачной службе, которая не сохраняет это.

Это приводит к тому, что мои deps загружаются снова и снова и тратит много времени на облачные вычисления.

Я использую Gradle 1.0 Milestone 5, и мой файл сборки имеет следующие настройки репозитория:

repositories {
    mavenLocal()
    mavenRepo urls: ['http://repo1.maven.org/maven2/', 'http://test-utils.googlecode.com/svn/maven-repo/snapshots']
    flatDir(name: 'fileRepo', dirs: "$projectDir/libs")
}

(я изменил test-utils, чтобы скрыть некоторые тестовые библиотеки, с которыми я связываюсь).

Я добавил этот шаг выполнения шага перед сборкой gradle:

env GRADLE_USER_HOME="${WORKSPACE}"
export GRADLE_USER_HOME="${WORKSPACE}"

Но deps должен быть загружен в другом месте, потому что в рабочем пространстве моей сборки Jenkins нет загруженных deps, но в нем есть файлы временного хранения.

Есть идеи, как сделать так, чтобы загруженные депы были помещены в $ WORKSPACE, чтобы я мог постоянно избегать этих загрузок?

1 Ответ

16 голосов
/ 15 декабря 2011

Определение GRADLE_USER_HOME должно сработать.

Установка GRADLE_USER_HOME на ${WORKSPACE} будет помещать различные каталоги в ${WORKSPACE}.Я бы создал ${WORKSPACE}/gradle-home и установил бы GRADLE_USER_HOME на это.

Проверьте, к чему ${WORKSPACE} разрешает.

Вы также можете попробовать установить домашний каталог пользователя gradle, используя параметр командной строки -g.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...