#jenkins #gradle
#Дженкинс #gradle
Вопрос:
В git есть проект gradle и есть задание Дженкинса. Что нужно сделать:
- Задание извлекает код проекта из git.
- Задание запускает сборку gradle:
sh "cd ${workspace}/${projectName}; ${workspace}/${projectName}/gradlew
- После этого я хочу, чтобы все зависимости проекта были доступны прямо в рабочей области Jenkins
${workspace}/${projectName}
в отдельном каталоге. Допустим${workspace}/${projectName}/dependecies
Конечно, нет способа редактировать файлы проекта gradle.build
.
Может ли это быть разрешено с помощью gradlew
командных флагов? Или я должен добавить какой-нибудь сценарий инициализации : ${workspace}/${projectName}/gradlew --init-script /opt/myScript
. Если да, то что оно должно содержать?
Ответ №1:
Суть в том, чтобы установить Jenkins workspace как gradle.home . Это решается с помощью --gradle-user-home
флага. Окончательное решение:
sh "rm -rf ${workspace}/${projectName}/caches"
sh "cd ${workspace}/${projectName}"
sh "chmod x ${workspace}/${projectName}/gradlew"
sh "${workspace}/${projectName}/gradlew build --gradle-user-home ${workspace}/${projectName}"
sh "zip -r -j ${workspace}/dependencies.zip ${workspace}/${projectName}/caches/modules-2/files-2.1"
Теперь все зависимости хранятся в caches/modules-2/files-2.1
каталоге. Для моих нужд я заархивирую его, чтобы отделить dependencies.zip досье.